DXPの次のバージョンでは内部的に頂点バッファが使われるようになります。
メリット
描画命令の数を減らせる
デメリット
頂点バッファはGUリストとは別に用意しなきゃいけない
頂点データが増える(四角形なら4つの頂点だったのが6つになる。Slice数がnなら2*n+2が6*nになる。つまり、nが増えるとデータ量が3倍に収束する)
というわけで、とりあえず2000個の三角形を今までどおり描画するのと6000個の三角形をまとめて描画するので比較してみました
結果(5回の平均)
頂点バッファなし4039μs
頂点バッファあり3056μs
あ、頂点バッファ有りのほうが30%程度速い…
rtcの誤差は50μs程度なので1000μsも違えば差が明らかに存在するといえるでしょう
最悪の場合でも30%程度高速なら実装する価値は充分ですw
ちなみに、最高の場合つまり頂点数1.5倍の時の速度はほとんど倍速。100%増しとなります。
頂点バッファの実装で30~100%の高速化が見込めるので採用が決定しました~
余談
さっきの式をちょっと考えると、nが小さいほど速度向上が見込めることになります。
テクスチャの転送時間も考えると、テクスチャは小さければ小さいほうがよさそうですねw
0 件のコメント:
コメントを投稿