09/07/09 10:30:42
質問です
パーティクル(たくさんのビルボード)を表現するのに
DrawPrimitiveUP + D3DPT_TRIANGLELIST
を使っています。
1つのビルボードを表現するのに6頂点。
100個なら600頂点のデータをDrawPrimitiveUPに渡す必要があるのですが、これが思いのほか遅い気がします。
パーティクルを表現するのに、DrawPrimitiveUPを使うのは常道なのでしょうか?
DrawPrimitiveUPによって、メインメモリーからVRAMに転送するコストが大きいのが遅い原因かな?と思います。
ただ、パーティクルは移動なども毎フレーム行われるため、DrawPrimitive(UPではない)のほうでは実現が難しい気がします。
(結局は毎フレームStreamに流す作業が必要。これではVRAMへの転送コストは変わらない)