.NETコンパイラは、まだ発展途上

http://www.watch.impress.co.jp/game/docs/20080219/xna.htm (GAME watch)
Xbox 360向けのXNA開発における鉄則

・メモリは最初に確保して長期間利用
・短命なオブジェクトは再利用し
GCが駆動する機会を最小限にせよ

実はこの辺のお話は、例の飲み会でこびとスタジオさんからお聞きしてました。

「普通に弾幕STG作ろうとすると、オブジェクト数がある閾値を超えると一気に重くなる。なので、最終的には、自前でメモリ管理する事になる。」

思いっきりDieFeenでもやっている事なので、特に問題無いす
実は、C++のnew/deleteも、オブジェクト数が増えるとバカにならないのですよ....


MSのプレゼンター自身が

XNAのユーザーコードを実行するJIT Compiler (ジャスト・イン・タイム・コンパイラ)は、'90年代中盤のC++コンパイラと同程度。

と言う事を明言している様なので、最終的にどうするかはゲームシステムの構造と要相談(アルゴリズムの最適化)って事でしょうな。


と言う事は、ほぼ.NETで動かしているWindowsVistaは......
パフォーマンスが悪いのは当然の結果なのかww


後は、こびとスタジオさんが仰有っていたのは、

XBox360GPUは爆速だけど、CPUは速くない。

って所ですな。
ちょっと、XNA触ってみるかな。


こういうクリエイティブな要素をPS3でもやってもらいたい所。
....と言うか、クタタンの構想ではやるはずで、期待していたのに、いつの間にかフェードアウトしちゃったしなぁ....。