2017-05-31 41 views
1

我在Windows 10關於桌面窗口管理器(又名DWM)幾個問題:Windows 10桌面窗口管理器交換時間?

背景:對於OpenGL應用程序我用C寫++我需要關於前的交換和後臺緩存的OpenGL和精確定時在OS級別上實現這些命令。 (我知道Windows 10或Windows一般是不錯的選擇,但還有其他限制因素)。

  • 問題1:我的互聯網研究表明,DWM管理,我無法控制,因此第三緩衝(使可視化三重緩衝系統)創建一個不可預測的延遲。調查還顯示,這可以通過在全屏模式下打開OpenGL環境來繞過。這些信息是否正確?

  • 問題2:這個延遲是由操作系統隨機指示DWM複製緩衝區的事實引起的嗎?

  • 問題3:實際的延遲時間有多長,我的調查顯示的數字在< 1ms到50ms之間,但沒有可靠的來源。

事實上,除了對單一事實上,延遲僅僅存在,有任何其他的假設,這是我能找到在互聯網上的不可靠來源。因此,我懇請任何人回答這個問題,如果可能的話,請提及他們的陳述。

我不知道這是否重要,但我通過GLFW和GLEW使用OpenGL。

回答

0

雖然我無法找到答案問題2和3,聯繫了Nvidia提供的支持問題的回答1

Nvidia公司statet一個應用程序以全屏幕背景不能訪問DWM呈現。只有在窗口模式下呈現的應用程序才由它處理。

警告:他們也說這是設計。考慮到微軟試圖強制用戶/程序員使用DWM這一事實,這一設計決策將維持多久不能保證。

來自Nvidia

原始郵件:

[...]

檢查與我們的專業部門的要求後,請注意,當一個遊戲或東西是在全屏你不能訪問此Windows功能[註釋:DWM]。這是設計。如果你想訪問這個功能,它需要被視窗模式。

[...]