- アプリケーションモデル その2 〜Update〜 (http://blogs.msdn.com/ito/archive/2007/03/08/2-update.aspx)
XNAのGameクラスにはUpdateとDrawがあって、フレーム落ちなどに自動的に対処してくれるようになっている。それ自体は便利なのだが、じゃあUpdateとDrawを別々のコアで処理しようと思ったらどうすればいいのだ。
- Drawはからっぽにして全部Updateでなんとかする
なんかうまく描画されないのでだめっぽい。
- Updateの最後でUpdate用のスレッドをStartさせて次のUpdateの最初でJoinする
Windows上だとちらつくし、360上だとものすごくパフォーマンスが落ちる。
- Start、JoinじゃなくてMonitorのEnterとExitを駆使してなんとかする
複雑すぎてわけ分からなくなった。
- その他のいい方法がある
教えてくれ。マルチコアハンドリングのいいサンプルコードが欲しいぞ。
- そもそも処理と描画を別コアでやろうとか考えるな
つうか最適化はあとでやれっていうのが真理なのだがね。前フレの状態を保持するオーバヘッドとかも馬鹿にならんし、複数コアを使っても速くなる保障はないんだし。