前回は板を描画するだけで力尽きたので、もうちょっとだけテスト。
16bit 565 なのでマッハバンドが目立ちます。
401頂点、760ポリゴン、平行光源×1(Diffuseのみ)、
Texture 1枚、256x256xR5G6B5 (mip無し、バイリニアフィルタ)
1頂点 32byte (xyz normal texuv float)
TouchDiamond S21HT VGA 639x480 ATI d3dm_ati.dll 18.5 fps EMONSTER lite S12HT QVGA 320x240 REF d3dmref.dll 0.25 fps EM・ONE S01SH WVGA 800x480 XSC D3DMXSc50PB.dll 4.3 fps
Touch Diamond は光源なしだとテクスチャ付きでも 30fps 出てました。
LightEnable を TRUE にしただけで 18.5fps へ。
SpecularEnable ではあまり変わらないけどローポリの頂点単位だと見た目がきつい。
他の端末でも走らせてみましたが、解像度が違うのであんまり参考にならないかも。
Reference Driver は遅いです。
Touch Diamond の光源処理には少々問題があります。
World だけの回転でなぜか光源も一緒に動いてしまうこと。
法線用の Matrix の設定が間違っているのか少々バグっぽい挙動です。
上記ページによると 頂点性能 4M triangle/sec、フィルレート 133M pixel/sec。
1/30sec で frame 13万頂点。おそらくライティング無し、最小頂点形式のピーク値。
フィルは VGA (640×480) の場合全部転送と見なして 14画面分に相当します。
ただし GPU の処理能力なのかバス能力の上限なのかはわかりません。
おおざっぱに 読み出し 16bit texture + 16bit depth 、書き込み 16bit color
+ 16bit depth で 133MHz といったところでしょうか。
4M Triangle/sec というと、スペック上の数値だけなら Dreamcast クラスに見えます。
VGA 解像度や 16bit 565 フレームバッファも同じ。
でも数値だけなのでもちろん無理。
しかもバス帯域を効率よく使う PowerVR に比べるとフィルで不利だし、caps 一覧を
見る限り DXT 圧縮テクスチャがないのも PVR よりバスを圧迫しそう。
実際 D3DM 経由でどの程度パフォーマンス出せるかまだわからないですが、現状
オーバーヘッドもかなり多そうです。
CPU も FPU 無しだし、解像度も高いし、iPhone/iPod touch 比ではかなり不利だと
思われます。
関連エントリ
・HTC Touch Diamond で Direct3DMobile を使う。ハードウエアアクセラレータ
400ポリゴンだとPS1レベルもきつそうですね。OSのUI用には十分そうですが。
iPhone用、塊魂がPS1(塊ってPS1からあったよね?!)ぐらいのポリゴン数っぽいので、やはりiPhoneの方が速いですね。
もう少し詳しく調べてみました。
http://wlog.flatlib.jp/arch…
ライティングは重いので使わない方が良さそうです。
おそらく 64 よりは上ですが、PS1 クラスはうーんどうでしょう。
まだ何ともいえないです。
今のところこれで塊魂を動かす自信はないです。