コードスペランカー

ゲーム開発日誌など

XNAでの描画処理3

前回の続き
前々回で誤解していた部分が判明
重たくなっている原因の処理は、プリミティブを利用したポリゴン描画部分であることが判明。

具体的には、ポリゴンを描画するためのエフェクトを宣言している

BasicEffect effect = new BasicEffect(Game1.graphics.GraphicsDevice, null);

の部分が重いらしい

なので、この部分をGame1.Drawで宣言するのではなく、Game1クラスのpublicでstaticな値として各方面で使いまわすことにした。
今のところ不都合はないけど、これでいいものなんだろうか?

この処理で、ビルボードを4000枚ほど描画してもなんとかなるようになった。
どうも4000枚を越えたあたりから少しづつ重くなるような気がする。
ハードの性能にもよるのだろうけど、1シーンに1000枚とか使わなければ大抵のハードで処理可能だろう。