HTC Touch Diamond で Direct3DMobile その(6) 頂点性能続き

Touch Diamond で Direct3DMobile を使った描画の続きです。
CPU 側の各処理の測定時間になります。

頂点数 ポリゴン数  頂点計算時間  1frame合計    cpuv/v   total/v  total/t
   401       760           700       40000      1.75     99.75    52.63
  1679      3120          2800       46000      1.67     27.40    14.74
  5039      9660          8500       90000      1.69     17.86     9.32
 10199     19800         17000      160000      1.67     15.69     8.08
 22799     44700         38000      348000      1.67     15.26     7.85
                          usec        usec

CPU で行う頂点の変換自体は float よりも固定小数の方が 5~6 倍ほど高速でした。
それでも描画速度向上がわずかだったのは、全体の処理時間からみたら
たいしたことがなかったからです。
全体の処理時間のうち頂点計算の割合は 10% 程度。
残りは全部 Present() が占めます。

カメラ位置を変えてポリゴン自体の描画面積が変わっても、動作速度にはほとんど
変動がありませんでした。
よって kick したあとの実際の描画処理では、頂点数に比例して増加するなんらかの
重い処理が CPU で行われていると予想できます。
あとはレンダーステートの組み合わせなど軽くなる条件を探していくしかなさそうです。

iPhone/iPod touch の実際の描画性能がどのくらいなのか気になるところです。

関連エントリ
HTC Touch Diamond で Direct3DMobile その(5)
HTC Touch Diamond で Direct3DMobile その(4) 高速化
HTC Touch Diamond で Direct3DMobile その(3) 実際の頂点性能
HTC Touch Diamond で Direct3DMobile を使う。その (2)
HTC Touch Diamond で Direct3DMobile を使う。ハードウエアアクセラレータ