XBOX用のアプリ(XNA Game)を開発しています。かなり簡単なアプリです。開始ページには、移動するgif画像を含むタイルが含まれています。それらのgif画像は実際にはすべてのタイルで一度読み込まれ、配列に配置されるすべてのpng画像です。次に、定義された遅延を使用して、これらの画像が再生される(遅延が通過するたびに増加するカウンタを使用して)。GCがキックしたときのXNA Xboxフレームドロップ
しかし、これはうまくいきますが、私はGIF画像の動きでわずか10秒ごとに少しの遅れがあることに気付きました。 Xboxのitsselfからアプリを実行しているとき、あなたが見ることができるように、FPSは、このような簡単なプログラムのためにかなり低い
http://gyazo.com/f5fe0da3ff81bd45c0c52d963feb91d8
(これはデバッグであり、私が手に:私は、いくつかのベンチマークのものを追加し始めました62fpsの平均)。 2つの重要な設定: Graphics.SynchronizeWithVerticalRetrace = false; IsFixedTimeStep = false;
isFixedTimeStepをtrueに変更すると、遅延が増加します。設定タイルには回転するホイールがあり、x秒ごとにホイールが少し戻ることがわかります。 SynchronizeWVRのカウントも同じですが、遅れも増加します。
私はとして、MAX HMU(ヒープメモリ使用量を)気にしないでください
...遅れがあり、それはで蹴るたびに遅れや瞬間ガベージコレクタキックとの間の接続に気づきましたこれは開始の量を取る、avgはより現実的です。ここで
は、しかし、私は、このツールから、私はそれを使用している最初の時間をあまり理解していない、パフォーマンスモニタから別の画面である...それがお役に立てば幸い:少し後
http://gyazo.com/f70a3d400657ac61e6e9f2caaaf17587
Xbox向けに開発したとき、ガベージコレクションの非効率性は非常によく知られた問題です。 Googleで検索すると、多くの情報とソリューションが提供されます。最も一般的なキャッシングオブジェクトであり、複雑なバージョンではなく、オブジェクトを再利用するためのプールを作成します。 – Elideb
@Mortana私は、360に関するGCのベストプラクティスの理解を深めるための回答とコメントですが、この質問を読んでいます。http://stackoverflow.com/questions/9142918/poor-performance-on-360-and- wp7/9150698#9150698 –