Admin * New entry * Up load * All archives 

C++&DirectXでプチプチゲーム制作をしています。文章力?気合で乗り越えるさ。

 

旧 ゲーム的な何か。

03«1.2.3.4.5.6.7.8.9.10.11.12.13.14.15.16.17.18.19.20.21.22.23.24.25.26.27.28.29.30.»05
このページの記事一覧

    

Posted on --:--:-- «edit»

Category:スポンサー広告

スポンサーサイト 

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

tb: --     com: --

go page top

Posted on 00:01:58 «edit»

Category:異境

高速化。 

なかなかシューティングゲーム自体の組み立てに入れないSignalです。
まぁ簡単に言いますと、処理速度が遅くて実用にならないわけです。
昨日の発言をすべてひっくり返した気がしますが、まぁまぁ。
今日はプログラム関係の話を。

この後エフェクトにしろ何にしろどんどん画像(ポリゴン)の表示枚数が増えるわけで。。ひたすら高速化です。

とりあえず今日はビルボードをカメラに向ける、なーんていうどうでもいい処理を省いて座標変換済みのデータ処理にしました。
まぁFVFの設定をD3DFVF_XYZからD3DFVF_XYZRHWにして微調整を加えただけです。
もっともこれで早くなったわけではないみたいですね。ついでに整理したのでコードは大分減りましたが。

今のところ大玉640個の表示が精いっぱい。それ以上だと家のデスクトップで処理落ちが出ます。おそらくスペックの低いPCだと300個ぐらいで悲鳴あげそうです。

たぶん原因としては、

テクスチャの重ね合わせの設定

theDevice->SetTexture( 0, g_pBillboardTexture[texType] );

theDevice->SetFVF(kD3DFVF_CUSTOMVERTEX);
theDevice->DrawPrimitiveUP(D3DPT_TRIANGLESTRIP, 2, vertex, sizeof(theCUSTOMVERTEX));

この処理を毎回繰り返しているからでしょうね。上の3つに関しては省略可能なので、そこを減らすだけで相当軽くなるはずです。
後やることとしてはDrawPrimitiveUPの呼び出し回数を減らすことでしょうね。
どうやらバッファにデータをいくらか蓄えてまとめてDrawPrimitiveUPで描画、という方法で呼び出し回数を減らせるみたいです。

大玉1500程度が処理落ちせずに表示されたら作業再開するかと思います。
ホントは弾の画像等は一枚にまとめてその一部を指定して描画、にすれば軽くなるんでしょうがその画像もありません。。
まぁ暫く。

ではでは。

テーマ: プログラミング

ジャンル: コンピュータ

go page top

 この記事に対するコメント 

go page top

 コメント投稿 
Secret

go page top

 トラックバック 
トラックバックURL
→http://frontiersman.blog61.fc2.com/tb.php/93-2c71dfeb
この記事にトラックバックする(FC2ブログユーザー)

go page top

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。