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 を使う。ハードウエアアクセラレータ