0
A
回答
0
交換鏈總是有兩個或多個緩衝區,並且在任何特定時間,DWM都擁有其中一個緩衝區。如果在發生虛擬空白時應用程序編輯的新幀不是Present()
,則DWM會使用它現有的緩衝區重繪最後一幀。同步可以通過飽和當前隊列(3次左右的呼叫後,下一次會阻塞直到v空白)或手動呼叫WaitForVBlank來實現。在Windows 8.1中,使用IDXGISwapChain2::GetFrameLatencyWaitableObject的機制更加健壯。無法強制DWM等待應用程序,因爲這會掛起整個OS UI。
相關問題
- 1. 如何將Direct3D/WPF/DWM窗口捕獲到位圖中?
- 2. dwm窗口之間的煩人的差距
- 3. Direct3D窗口
- 4. ImageJ同步窗口
- 5. 在窗口後面模糊清除窗口中的內容(DWM)
- 6. 按鈕和窗口之間的空間
- 7. 如何在兩個窗口之間同步滾動
- 8. 在兩個Vim窗口之間同步編輯
- 9. 在direct3d和opengl之間共享紋理?
- 10. 窗口和ViewController之間的區別
- 11. 轉到Direct3D中的窗口模式9
- 12. 如何在html中的兩個窗口之間傳遞參數[父窗口和子窗口之間的值]
- 13. wpf中父窗口和子窗口之間的通信
- 14. TCP - 擁塞窗口和接收窗口之間的區別
- 15. 彈出窗口和瀏覽器動作窗口之間的chrome.storage
- 16. 滑動窗口和擁塞窗口之間的差異
- 17. webview和java之間的同步cookie
- 18. shellscript和c程序之間的同步
- 19. C#和C++之間的同步值?
- 20. onRowHover和onDragMove事件之間的同步
- 21. 同步年和月之間的DROPDOWNLIST
- 22. MySQL和MongoDB之間的數據同步
- 23. PyQt4:QSpinbox和QSlider之間的同步
- 24. clearcase和svn之間的代碼同步
- 25. Mac OS X和iPhone之間的同步
- 26. 刪除searchResultsTableView和mainTableView之間的同步
- 27. android和PC之間的數據同步?
- 28. 不同窗口之間的WPF共享和更新列表
- 29. netbeans和shell窗口之間的不同行爲
- 30. 兩個瀏覽器窗口之間的通信:彈出窗口和父窗口
在發佈問題後,我做了更多的搜索,並找到[this](http://blogs.msdn.com/b/greg_schechter/archive/2006/03/10/549310.aspx)和[this]( http://stackoverflow.com/questions/1840516/is-double-buffering-required-with-desktop-composition-enabled)後。他們說這個窗口可以在DWM更新的過程中渲染,所以「結構撕裂」可能發生。這只是關係到一些舊版本的Windows? – alice
@alice它看起來像這些鏈接都承認「結構撕裂」作爲呈現中的呈現,例如, 'DrawTriangle();當下(); DrawRect();'顯然,如果意圖是同時出現三角形和矩形,這個調用模式不會產生正確的效果。但這只是糟糕的應用程序邏輯。 – MooseBoys