私はおよそ6msごとに新しいフレームを生成する必要がある3Dアプリケーションを持っています。このフレームレートは、吃音を生じさせないために一定である必要があります。さらに悪いことには、アプリケーションは中程度の重度の計算(主に3Dシーンの準備とVRAMへのデータのコピー)を実行する必要があります。そのため、かなりの量の6msを消費します。Windowsでアプリケーションのタイムスライスを最大化する方法はありますか?
これは、Windowsが他のもののためにCPUを使用しようとすると、アプリケーションがちょっと吃音をするため、問題であった。 Windowsがタイムスライスを他のプロセスに "譲り渡さない"ようにする方法はありますか?私はそれがバックグラウンドプロセスに悪影響を与えるのではないかと心配しています。
私はあなたがこれについてすべて間違っていると思っているとは思いません。 Raymond Chenによるこの記事では、プロセスの優先順位を向上させ、他のすべてのプロセスを損なう危険性をカバーする優れた記事があります。私の取り組みは次のとおりです。フォアグラウンドプロセスは、優先順位をあげています。そして、他のプロセスがタイムスライスを盗んでいる場合は、おそらく盗難が必要で、その影響が懸念されるべきです。これらのプロセスがディスクキャッシュのようなものを管理する可能性があるため、これらのプロセスを枯渇させるとパフォーマンスが低下します。 –
本当に、あなたの問題は、ハードウェアと同じようにソフトウェア分野ではそうではありません。このような仕事にはPentium(以下)を使用しないでください。 i3またはi5には、一貫したCPU時間を与え、アプリケーションのパフォーマンスに必要なバックグラウンド・タスクを完了するのに十分な数のコアがあります。 –
ちょうど興味深い、166 fps? –