一個珍聞在遊戲中我們的互聯網組裝團隊編程,我們假設從我們的觀衆每個人都會有大大超過在比賽中全速。完美的V-同步實施:需要的信息
所以,保存視頻RAM,並希望給多一點空閒時間到顯卡,採用V-不同步雙緩衝將是我們最好的選擇。所以,在OpenGL中,我們需要知道如何做到這一點。
從我的理解,垂直同步時,一旦它完成渲染一幀,直到幀已經完成發送到顯示設備顯卡被暫停。雙緩衝不會暫停渲染操作(或者它可能,或者它可能是特定於實現的;不確定),因爲它在複製到幀緩衝區之前會將其繪製到第二個緩衝區,以便監視器獲得全幀或無新的幀(特別是幀緩衝區中的最後存儲的圖像)。好吧,我們不需要這個功能,只要顯卡只在它需要的時候才寫入framebuffer。
這是一個非常緩慢的在線遊戲(但它非常有創意^ _ ^)。有很少的實時行動。因此,非常精確的用戶輸入不是必需的;它可以在渲染幀之前的任何時候作爲單個單元從OS捕獲。
所以,爲了做正是這一點,我需要能夠得到一個「幀發送完監視」從OpenGL的消息。可能嗎?如果不是,最好的選擇是什麼?
遊戲進行編程僅適用於Windows的時刻,但應該有幾個月的Linux所做的工作。
視頻卡被設計成具有雙緩衝足夠的內存。所有的遊戲都在使用它。此外,驅動程序層不會直接控制「幀何時發送到顯示器」。對於這個問題,你準備好用多臺顯示器來處理這些情況嗎?你願意只工作在全屏嗎? – Bahbar 2011-02-04 08:44:23