求高人指教。
最近在搞OpenGL開發,是這樣一個功能:雙屏顯示,在主屏打開一個視頻,視窗顯示,點擊全屏后,主屏停止顯示,在副屏全屏顯示。主屏重繪率60HZ,副屏重繪率90HZ。發現SwapBuffer的阻塞的時間不對:如果只接60HZ的屏,整個渲染和SwapBuffer大概消耗的時間就是16.6ms,如果只接90HZ的屏,消耗的就是11HZ,基本上是根據螢屏的垂直同步時間來執行渲染顯示的。這樣的話程式里時間邏輯很好控制,知道需要sleep多長時間然后再渲染下一幀資料。但是兩個屏都接上的話,感覺Swapbuffer的時間不確定,好像是兩個屏的重繪周期混在了一起,顯示出來的的畫面也會輕微的顫抖。
我猜想是兩個屏重繪率不同導致的,換了兩個60HZ的屏或者兩個90HZ的屏,顯示都很穩。我想能不能全屏顯示的時候讓SwapBuffer的阻塞時間按照所在螢屏的重繪周期來執行。
希望高手能給指點一下。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/64410.html
標籤:其它游戲引擎
上一篇:求助大神,如何用按鍵精靈實作熱血傳奇手游的自動更換啟動區服
下一篇:protobuf-net 在Unity里使用 int64(long), 在IOS設備上決議錯亂問題。。 Mono在IOS反射機制bug
