我使用新的Qt 3D API在計算強度計算過程中顯示3D場景。該場景僅作爲對用戶輸入的響應而改變。但是,Qt 3D的默認行爲似乎將場景的幀速率鎖定爲某個較高的常量值,在這種情況下會佔用不可接受的資源量。如何在Qt 3D中控制幀頻?
有沒有辦法控制Qt 3D中的幀頻?理想情況下,我只想在對場景進行更改時渲染一個新幀,但將其降低到較小的固定值也足夠。 Qt 3D文檔很少,我一直無法找到一種方法去做這些事情。
編輯:我設法找到並將QRenderSettings::OnDemand應用於我的根節點和框架圖,但它似乎沒有效果,但this意味着它應該,因爲我使用的是Qt 5.7。任何額外的投入都會非常受歡迎(即使它只是保證評論)。
編輯2:安裝Fraps並直接測量幀速率後,看起來該場景實際上只是在應用QRenderSettings :: OnDemand時根據需要渲染幀。如果沒有這個,幀速率保持在60fps,這正好是我的屏幕刷新率。 然而,,程序繼續消耗大量的CPU時間,同時啓用Qt 3D空轉,無論是否顯示3D窗口。我開始認爲這是一個與幀率無關的單獨的Qt 3D問題,並且可能會相應地提出一個新問題。
你確定它與你的圖形沒有關係嗎? –
在什麼fps運行,什麼是您的偏好最高的fps? –
這可能值得一看。它可能不會解決它,但它可能會解決這個問題。 http://stackoverflow.com/questions/36181532/qt-qapplication-framerate-drop-when-maximizing-window –