プロフィール

Na-7

Author:Na-7
SE(システムエンジニア)として約15年間システム系ソフト会社を勤めあげ、2008年3月退社。現在、ゲーム制作会社設立を目指して活動中。


アクセスカウンター


最新記事


最新コメント


最新トラックバック


月別アーカイブ


カテゴリ


DATE: CATEGORY:スポンサー広告
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
DATE: CATEGORY:三国志軍記開発
私釈三国志
私釈三国志
三国志関連サイト。相方との会話形式で、独自解釈の三国志をコミカルに語っている。筆者は袁紹と禰衡のファン?



◎まとめました

「計測作業は中止」と書きましたが、「簡単にできて後々参考になりそうなこと」がありましたので、若干の追加計測を実施し、前回の計測と合わせてHPにまとめました。

XNAの3Dモデル描画速度に関心がある方はどうぞ。

立体地形モデルの描画速度に関する計測と考察



◎対策案

遅延原因は「DrawIndexedPrimitives呼び出し回数が多すぎるため」ということが判明しました。
私が考えた対策案を列挙します。

A案
DrawIndexedPrimitivesの描画速度が向上するよう調査改修する。

B案
頂点データフォーマットにパターンテクスチャ番号を追加し、
表示時はその情報を参照しながらHLSLでパターンテクスチャを描画する。

C1案
現状の地形モデルをmodelクラスに格納し、mesh.DrawかACLで描画する。

C2案
コンテントプロセッサで地形モデルを生成し、modelクラスに格納してmesh.DrawかACLで描画する。

D案
パターンテクスチャを廃止し、テクスチャは地形種別の数と同数だけ用意することとする。
1マスあたり現状2ポリゴン→8ポリゴンに変更する。

E案
メタセコイアで地形モデルを作成し、modelクラスに格納してmesh.DrawかACLで描画する。
メタセコイアで作成した地形モデルを読み込んで、カラーマップを生成するツールを作成する。



◎対策案のポイント解説

A案は、案というよりも願望です(笑)具体的な手法はまだ何もありません。計測結果の中に気になる数値があったので、一応調べてみよう、というものです。

気になる数値とは「DrawIndexedPrimitives呼び出し回数:1回=30~38fpsと、15回=15fps」です。ちょっと差がありすぎる気がするので、もしかしたら垂直同期などの同期待ちかもしれません。その場合は、同期待ちしないようにすると、速くなるかもしれません。


B案は、2009/2/28~2009/3/2の記事で「B案」として試した手法です。

この手法なら、DrawIndexedPrimitivesの呼び出し回数は1回で済むので、高速化できそうです。但し、この手法で何百種ものテクスチャを描画できるのか?という懸念はあります。


C1案C2案は「DrawIndexedPrimitivesがダメなら別の方法で描画しよう」という発想ですが、現状より早くなる根拠は全くありません。下手すると現状より遅くなります。なので、この案を採用する前に、どれだけ早くなりそうか予測テストを実施すべきです。

尚、C1案は技術的に難しそうです。また、C2案は二か月前に私が断念した方法ですが、今なら実装できる自信があります。但し、ゲーム中の地形種別変更はできなくなります。


D案は、パターンの模様を、テクスチャではなくポリゴンで再現しよう、という発想です。速度的にはかなり期待できそうですが、見た目は大幅に劣化します(一目で「ポリゴンの境界線だ!」とわかるようになります)。


E案は、現状の「カラーマップから地形を作成する」機能を逆転し、「地形からカラーマップを作成しよう」という発想です。パターンの概念が無くなり、見た目と描画速度のバランスは、メタセコイアで手作業で調整します。

尚、地形の正確な高さが取得できなくなります(大雑把な高さは取得できます)。また、ゲーム中の地形種別変更もできなくなります。



◎優先順位の検討

対策案の優先順位は以下の通りです。この順番で着手し、目標の20fpsを達成するまでやるつもりです。

A > B > E > C1 > C2 > D


最優先はA案。願望ですから、当然ですね。

お次はB案。実現性が高く、描画速度が早くなる可能性も高いので期待大です。

続いてE案。見た目と描画速度のバランスが自由に調整できるのが魅力です。但し、ユニットが多少地形にめり込んだり宙に浮いたりするかもしれません。
ちなみに、この案を採用すると、ここ数カ月やってきたことの大半が無駄になります(笑)

C1案C2案は、どれだけ速くなるか疑問です。あまり期待していません。

D案は、見た目が大幅に劣化するので、できれば避けたいですね。



◎次回予告

対策案と優先順位が決まったので、次回から遅延対策を実施します。

スポンサーサイト

テーマ : ゲーム製作 関連 - ジャンル : ゲーム

コメント

コメントの投稿


管理者にだけ表示を許可する

トラックバック


この記事にトラックバックする(FC2ブログユーザー)



copyright © ゲーム制作の舞台裏 all rights reserved.Powered by FC2ブログ
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。