私は計算的に強力な計算の間に新しいQt 3D APIを使用して3Dシーンを表示しています。このシーンは、ユーザーの入力に対する応答としてのみ変化します。しかし、Qt 3Dのデフォルトの動作は、シーンのフレームレートを高い一定の値に固定するように見えます。この場合、容認できない量のリソースが消費されます。Qt 3Dでフレームレートを制御するにはどうすればよいですか?
Qt 3Dでフレームレートを制御する方法はありますか?理想的には、シーンに変更が加えられたときに新しいフレームをレンダリングするだけですが、固定値を小さくすることで十分です。 Qt 3Dドキュメントは疎であり、これらのことを行う方法を見つけることができませんでした。
編集:QRenderSettings::OnDemandを自分のルートノードとフレームグラフに適用しても効果はありませんが、thisはQt 5.7を使用しています。これに関する追加入力は非常に歓迎されます(たとえそれがコメントを保証するだけであっても)。
編集2:Frapsをインストールしてフレームレートを直接測定すると、シーンは実際にはQRenderSettings :: OnDemandを適用して必要に応じてレンダリングするだけです。これがなければ、フレームレートは安定した60fpsに留まり、これは私の画面のリフレッシュレートになります。 しかし、3Dウィンドウが表示されているかどうかにかかわらず、プログラムはQt 3Dを有効にしたままアイドリングしている間、大量のCPU時間を消費し続けます。私はこれがフレームレートとは無関係の別個のQt 3D問題であると考え始めており、それに応じて新たな質問が開かれるようです。
あなたのグラフィックスとは関係ないと確信していますか? –
何fpsで動作していますか、あなたの好みに合わせて最高のfpsは何ですか? –
これは一見価値があるかもしれません。それはおそらくそれを解決しませんが、それは問題にいくつかの光を当てるかもしれません。 http://stackoverflow.com/questions/36181532/qt-qapplication-framerate-drop-when-maximizing-window –