XNAオフ

行ってきました。いつも技術ネタ話に飢えてる自分的に実に楽しい場でした。


とりあえず一番興味があった部分、XNAで物量出すための戦略の話がとても興味深かった。
XBOX360のCPUは実は貧弱で、CLRが未成熟っぽいのもあって、いくら並列化を頑張ってもCPUに重い計算やらせるのはマズいらしい。
しかしGPUは強力で、普段CPUでやってるような処理を頂点シェーダ経由でGPUにやらせることで強力に高速化できることが多いらしい。
同じモデルデータを使うゲームオブジェクトは一つの配列にまとめておき、位置情報などのゲーム内情報も丸ごと頂点シェーダに渡して一回の描画で全て描く、というテクニック(ダイレクトマップ)は目から鱗。その例で4万個以上のテクスチャ貼ったキューブを個別に動かしつつ60FPS維持していたのは衝撃的だった。これが頂点シェーダの正しい使い方か!
浮動小数点バッファも使えるので、衝突判定等の重い内部処理はGPUでやるという戦略もアリとのこと。
exceptionをXBOX360上で動かしてみたいという思いはずっとあって、でもXNAは遅いらしいので諦め気味だったんだけど、内部処理を可能な限りGPUでやらせるようにすればもしかしたらそこそこ動いてくれるのかもしれない。
丁度シェーダに真剣に取り組もうと思ってたところなので、今後そのへんも調べてみる予定。


そして私もゲームのマルチスレッド化(というかexceptionの内部処理解説)について発表。
派手なゲーム画面とCPU使用率でそこそこウケてた気はするけど、資料がまとまってなかったのと発表慣れしてないせいで少々心残りな結果になってしまった。近いうちに資料まとめて改めて日記で解説してみたいと思います…。


あと東京滞在中はicewindさんにお世話になりまくりでした。ありがとうございました&遠慮しない性質ですみません。
冬コミの時はほんの少ししか話せなくて分からなかったけど、icewindさんは強く熱く、情熱的で研究熱心なロリコンさん、という感じで、なるほどこの人だからこそのディアドラエンプティなんだな、と納得。
でも、人のノートでtwitterにPOP先生最高!とか投稿したりblogジャックしたりするのはひどいとおもいました><