1

私が持っている同じコードで:

IsFixedTimeStep = trueおよびで 5 ~ 10% の CPU 使用率TargetElapsedTime = TimeSpan.FromSeconds(1 / 60f)

IsFixedTimeStep = trueおよびで 50 ~ 60% の CPU 使用率TargetElapsedTime = TimeSpan.FromSeconds(1 / 30f)

フレーム レートを下げることで、CPU 使用率を下げることが期待できます。私は同様の結果で別のコードを試しました。原因知ってる人いますか?

4

1 に答える 1

0

推測する必要がある場合(続行するための情報がほとんど提供されていないため、推測する必要があります)、それはGPUとCPUの間の相互作用であると言えます。

このブログ投稿をご覧ください。

基本的に、60 FPSでは、おそらくGPUに制限されています。CPUはアイドル状態で、GPUがフレームを描画するのを待ってから、別のフレームの描画を開始します。おそらくフレームをドロップしています。

30 FPSでは、GPUが追いつくことができるため、CPUはより頻繁にフレームを送信する必要があります。

しかし、繰り返しになりますが、これは単なる推測です。これらを適切にチェックするには、コードをインストルメント化する必要があります。

于 2012-07-17T08:32:14.417 に答える