從OpenGL的編程的基本理解編輯,所有需要的繪圖操作在序列執行每幀重繪一次。硬件的性能決定了它發生的速度。據我所知,遊戲將盡可能快地繪製,這樣重繪操作基本上被包裝在一個while循環中。圖形操作(圖形引擎)將進行優化,以確保幀速率適用於應用程序。使用垂直同步時接受的時間策略是什麼?
圖形硬件支持垂直同步然而鎖定幀速率顯示速率。第一個問題是圖形引擎應該如何與硬件同步交互?這甚至是可能的,或者渲染器以最大速度工作,並且硬件選擇性地調用最新幀,丟棄所有未使用的先前幀。
對這個問題的動機是不是,我打算馬上寫了一個圖形引擎,而不是正在調試的問題與在移動場景的圖形出現在屏幕上口吃現有系統。在症狀方面,當VSync關閉時,打開時口吃會很輕微,打開時有明顯的週期性口吃或口吃完全解決。爲了理解圖形系統的一些更多背景信息,我有點緊盯着正在發生的事情或原因。
綜上所述問題將是對一個預期如何與硬件交互重繪事件,如果這甚至有可能。然而,任何額外的信息將受到歡迎。
感謝ThePhD,我有權訪問上一代代碼(我只能假設它與當前代人在邏輯上相似)。我們正在編寫更新場景的底層邏輯,並且我可以看到循環我們的邏輯在(@〜1000Hz)下運行與主迴路異步。我還沒有找到最頂級的繪圖程序來評估它是否與更新或不刷新同步,也不知道什麼是「正確」的策略。 環境是Windows 7在60Hz渲染。至於幀速率,我可以收集的唯一信息是,關閉VSync後,我會看到90-400FPS。 –