SyntaxHighlighter

2012年1月5日木曜日

2Dなので四分木で最適化した

元はと言えばWUXGA解像度の画面全てを使って、1pixelにつき1characterで描画するというあまりに無知で無謀な計画が最初だった。本当に何も知らなかった。全characterが毎Frame移動して衝突して、というひたすらrichな計画。

とりあえず書いてみたはいいが、全然動かない。1frameの処理に何秒かかっただろうか。適当なcontainerに無理やり詰め込んで、総当りでぶん回した。200万characterの負荷は2011年のPCにはあまりにも重過ぎた。

なので、まずは毎秒30frameは最低でも出せるくらいに頑張る予定。


4分木空間分割を最適化する、をオカズに遊んだ。

骨組みほとんどそのまま移植というか引用した。色々妥協してXGAに落として色々数値弄ってみたけど、1worldで200~300characterぐらいが限界っぽい。それでも弾同士が密集されると描画しなくてもけっこう重い。むしろcharacter数よりも密集度のほうが大事かも。

sampleの数字弄ったもの。この方法だと分散された弾の衝突判定と移動が高速。

とりあえず、algorithmは隔離しといたので、これで困るようになったらまた考えよう。

0 件のコメント:

コメントを投稿