DirectX総合スレ (Part6)
■ このスレッドは過去ログ倉庫に格納されています
0001DirectX6
2006/11/17(金) 00:38:52ID:lRjOsWKq他の言語使ってる奴はいますぐ消えろ
■過去スレ
DirectX総合スレ
Part 1: http://pc5.2ch.net/test/read.cgi/gamedev/1083728025/
Part 2: http://pc5.2ch.net/test/read.cgi/gamedev/1095863432/
Part 3: http://pc5.2ch.net/test/read.cgi/gamedev/1105333209/
Part 4: http://pc8.2ch.net/test/read.cgi/gamedev/1132937938/
Part 5: http://pc8.2ch.net/test/read.cgi/gamedev/1157727402/
0771名前は開発中のものです。
2007/04/22(日) 18:03:23ID:jOjaX+480772名前は開発中のものです。
2007/04/22(日) 18:15:15ID:Sj08wy5M洋書ではやたら多く出版されているので英語を読んだ方がいい
プログラム書のほとんどが、
ソースリストを付けるから勝手に理解してくれよのスタンスだ
Windowsの時代になってからは、APIに振り回されるくらいなら
ライブラリーに全部を任せてしまう方向にある。
現実にiAPX386の時代も終わろうとしているし
0773名前は開発中のものです。
2007/04/22(日) 18:16:04ID:CENVEWNH>みんな俺流で
右へ倣えがお好みで?
>きちんと教わってないから
誰か教えてくれるとでも?
>あれは何をやっているのかわかりません。
>理想はゲーム1本まるごとソースが入っていて解説がある本がいいです。
君にはゲー専がお似合いだよ
努力せず他人頼って何かを得ようとするやつにはゲー専がお似合いだ
金はかかるが入社に必要なゲームプログラムを丸ごと貰えるぞ
>値段はいくらでもいいです。
じゃあ大丈夫だな
今すぐ行け
早く行け
行け
0774名前は開発中のものです。
2007/04/22(日) 18:17:49ID:PiGegWxe0775名前は開発中のものです。
2007/04/22(日) 18:20:52ID:J/HGGp21お前痛いな
びっくりするほど昨日からみんな親切に対応してくれてるのに
サービスを無償で受けるのが当たり前の
ガキかにーと君だろうが
真面目に答えてくれてる人にありがとうの一言も言えないようじゃ
どこ行っても相手にされないよ
0776名前は開発中のものです。
2007/04/22(日) 18:21:50ID:v/ich/HTマジレスするとゲームプログラムって総合芸術みたいなもので、
3D・AI・サウンド・スクリプト・ネットワークetc いろんなものを抱えすぎてる。
これを見ればOKって本を作っても内容が薄くなって実用性がなくなるだけ。
地道に個々の分野を漁るしかないよ、みんなそうやってる。
0777名前は開発中のものです。
2007/04/22(日) 18:22:07ID:0pTEN09P生暖かく見送ってやれよ。
むしろ「日本のゲーム開発者のレベルが低い」には同意する。
初心者向けに綺麗に切り分けして動作確認までしたソースコードを、
ボランティアで用意しろと要求するとか、日本の教育制度の歪みだよ。
0778名前は開発中のものです。
2007/04/22(日) 18:22:40ID:aF9z9yRP0779名前は開発中のものです。
2007/04/22(日) 18:31:41ID:4Cp/kF21煽られたら一斉にレス付くってw
>>770
自分が理解できないことを人のせいのように書くのはよくないよ
さっきも書いたけど。自分にあった本でも探してがんばりな。
0780名前は開発中のものです。
2007/04/22(日) 18:32:45ID:ckHQhBhIとりあえず適当なライブラリ使ってやってみればいいだろう。
そこにはある種求めている答えがそのままあるんだから。
できるようになったらそのライブラリの中を見て具体的に理解すればいい。
まずはELでも使って望みのものが作れるかやってみれ。
0781名前は開発中のものです。
2007/04/22(日) 18:39:12ID:aF9z9yRP0782名前は開発中のものです。
2007/04/22(日) 18:56:26ID:Sj08wy5M0783名前は開発中のものです。
2007/04/22(日) 18:56:29ID:0pTEN09P「あぁ、今時のクールなやり方ってどうだろう?」とは思って静観はしても、
手持ちのソースコードを整理して出す気にはならなかったな。(解説付きで?w
そもそもアニメーションがDirectXの範疇かどうかも知らんし、
自分でやるもんだと思ってる。いや、オールドタイプの愚痴書いてすまんねw
0784名前は開発中のものです。
2007/04/22(日) 19:08:17ID:QxPBFcUw>733がしたいこと程度ならぐぐってれば調べられる程度のことだし
0785名前は開発中のものです。
2007/04/22(日) 19:41:35ID:YZWy+Lh2これはひどい。
本気にする奴いるから、書いとくけど、
ゲー専だけは絶対にやめとけ。
情報系の大学のコンピュータ系サークルにもぐりこむ方が、仲間も見つけられて、手っ取り早い。
0786名前は開発中のものです。
2007/04/22(日) 20:29:02ID:dYgoG/JI0787名前は開発中のものです。
2007/04/22(日) 20:30:17ID:ckHQhBhI俺ゲー専だけど一応就職はできたw
0788名前は開発中のものです。
2007/04/22(日) 20:31:35ID:Sj08wy5M丁寧に説明されるほどにそのコードは使えない。
スケルトンモデルについて他の人で知りたい人もいるだろから、
書いとく 研究用には使えると思う。
DirectX9 3Dゲームプログラミング〈vol.2〉C#によるキャラクタの歩行アルゴリズム
0789名前は開発中のものです。
2007/04/22(日) 23:27:26ID:IFDxOYuU一般学生は就職できなかったことが最低の恥になる。
ゲー専生は就職できたことが最大の自慢になる。
0790名前は開発中のものです。
2007/04/22(日) 23:49:20ID:ckHQhBhIわかる気がするw
大抵は実家に帰るとか全然PG関係ない職に付くとかだしな。
0791名前は開発中のものです。
2007/04/23(月) 07:05:58ID:0pWNIKTQまあ、そのやる気を削ぐ環境が
バッチリ揃っているのがゲー専なわけだが。
0792名前は開発中のものです。
2007/04/23(月) 10:23:33ID:J3HGZUDOその本はオススメできない。
無駄にハードコーディングしてるし、同じようなコードをまとめずに
ダラダラとコピペしてあったりと、コードのできが悪すぎる。
あと、スキンメッシュも扱ってないし、他にも問題がありまくり。
普通にDirectX SDKのサンプルやMSDNの記事を読んだほうが良いと思う。
0793名前は開発中のものです。
2007/04/23(月) 10:39:58ID:0pWNIKTQわざとハードコーディングのサンプルを載せてるものが多いと思うんだが。
とかなんとか書いていたら>>788が1〜2行目で言ってるじゃないかorz
0794名前は開発中のものです。
2007/04/23(月) 12:52:06ID:7FTd6465アメリカのマニュアルみたいに最初に注意書きをいっぱい書いておけば良いんだよ。
生き物は乾燥させられません、説明用にコーディングしているため最適なコードではありませんと。
0795名前は開発中のものです。
2007/04/23(月) 13:49:46ID:J3HGZUDO特に分かりやすくなっていなかった。(だから「無駄に」って書いた)
その本とDirectX SDKのサンプルやMSDNの記事を両方を読んでみて
SDKのサンプルやMSDNの記事の方が分かりやすかったし、役にも立った。
0796名前は開発中のものです。
2007/04/23(月) 14:26:03ID:OWFbmL7a画面小さいといちいち窓切り替えて見比べたりしづらくて、うがー、ってなる
あと暇なとき寝ながらでも読んでいられるし
0797名前は開発中のものです。
2007/04/23(月) 15:00:28ID:tsYZMPWC窓を切り替えたり画面小さくしたり
することに逆に憧れる
0798名前は開発中のものです。
2007/04/23(月) 20:34:58ID:VAXcyTmSゲーム作って実感しましたorz
0799名前は開発中のものです。
2007/04/27(金) 15:48:01ID:n7RHrMRn0800名前は開発中のものです。
2007/04/28(土) 00:58:45ID:Z/Gf1X1D0801名前は開発中のものです。
2007/05/02(水) 14:11:20ID:KXh7uMcrボーンとか仕込むとメッシュが階層構造持つことになるけど、
それぞれのフレームが持つ情報へアクセスする方法はどうやるのが一般的?
自分はいま全フレームへのポインタを一次元配列で確保しといて、
そのポインタを通じてフレーム内情報の読み書きをしてるんだけど。。。
階層構造とか再帰とかあんまり経験無いからどうすればいいのか……。
0802名前は開発中のものです。
2007/05/02(水) 15:23:45ID:AUBROcJlオーバーヘッドが気になるならば
ロード時にフルパス名を作ってそれをキーにしてマップに登録
0803名前は開発中のものです。
2007/05/02(水) 19:23:04ID:KyLZIh1Z基本は1つの頂点バッファで管理。
派生クラスでは体のパーツ(ボーン?)毎に、
頂点バッファ上での範囲を管理していて、
体の中心から変換マトリックスを更新しつつ、
範囲ごとに表示。
ローポリでいくつもりなので、
俺の場合はこんなもん。
0804名前は開発中のものです。
2007/05/04(金) 17:40:46ID:0dDZmDLF普通に動かすと40FPSぐらいですが
Windows Media Player11を起動させておくと
60FPSに跳ね上がります。なんで??
0805名前は開発中のものです。
2007/05/04(金) 17:47:27ID:rCIAddhL0806名前は開発中のものです。
2007/05/04(金) 17:49:11ID:YK9pHZvNタイマーの分解能の設定は?
0807804
2007/05/04(金) 18:15:02ID:0dDZmDLFtimeGetTime()で設定とかはとくにしてないですが
40FPSだと見た目でガタガタになるのがわかるので
おおよその値はあってると思います。
0808名前は開発中のものです。
2007/05/04(金) 18:17:03ID:7nXNmJ5Jいや・・・・・・・・そうではなくて
設定してないなら設定しろと言っていると思われます
0809804
2007/05/04(金) 18:22:57ID:0dDZmDLFはうあ! MediaPlayerを立ち上げなくても速くなりました!
MediaPlayerが共通のタイマーの設定をしてたということでしょうか。
ふしぎふしぎ。ありがとうございました。
0810名前は開発中のものです。
2007/05/04(金) 18:54:44ID:AOCsVjjH0811名前は開発中のものです。
2007/05/04(金) 21:33:47ID:kIqerJ6Iメディアプレーヤーを起動してると速くなる系の質問はかなり頻出
某掲示板で検索してもわんさか出てきた
ttp://bbx.hp.infoseek.co.jp/cgi-bin/bbx.cgi?log=49&vew=100
様はtime**系の設定はシステムグローバルだってことね
0812名前は開発中のものです。
2007/05/04(金) 22:20:15ID:+fXYp4haもう解決したが、
timeBeginPeriod(1)
timeEndPeriod(1);
だな
0813名前は開発中のものです。
2007/05/04(金) 22:20:59ID:+fXYp4ha0814名前は開発中のものです。
2007/05/05(土) 22:52:08ID:JPwlhljgそういう環境でも、テクスチャサイズを2のべき乗にした方が
スピードアップできるのでしょうか?
0815名前は開発中のものです。
2007/05/05(土) 22:53:55ID:esePaGjw0816名前は開発中のものです。
2007/05/05(土) 23:13:52ID:JPwlhljgしてるだけで、それを2のべき乗に拡大して(余剰分は透明色にする)
生成するルーチンの実装はまだやってないのです。
2のべき乗にした方が速くなると分かれば、そのように実装しますが
そうでないなら無駄な労力を使いたくないという事です。
0817名前は開発中のものです。
2007/05/05(土) 23:16:34ID:WrGZaJEA0818名前は開発中のものです。
2007/05/05(土) 23:24:16ID:DhyAmmhw>>816は別に配布するんじゃなくて自分専用の何かを作るってるんでないの
2の整数乗でないサイズのテクスチャに対応したハードなんて
持ってる人どんだけいるんかね
0819名前は開発中のものです。
2007/05/05(土) 23:39:41ID:7/qHIZUN0820名前は開発中のものです。
2007/05/05(土) 23:45:51ID:JPwlhljg自分のPCのグラはオンボードなので、現代じゃ一般的だと思ったのですが
そうじゃないのですかorz
0821名前は開発中のものです。
2007/05/06(日) 00:01:04ID:Z93//tsUDirectt3Dサーフェイスには幅の他にピッチという概念があるので
テクスチャ作成に関わる部分では、サイズがいくつだろうが変わらないと思う。
フィルタリング(ミップマップ)は2^nサイズだと、最適化ルーチンが使えるので
そっちの方が速そうだ。
テクスチャサンプリングはGPUのリッチさによりけりだな。
0822名前は開発中のものです。
2007/05/06(日) 00:02:33ID:6yYXhBO80823名前は開発中のものです。
2007/05/06(日) 00:03:58ID:8J0PSu8Dテクスチャの表示です
0824名前は開発中のものです。
2007/05/06(日) 00:36:27ID:a/Y3MxCW自分も同じことにはまってました。
なぜか特定のマシンだけ極端にFPSが上がらなくて、VirtualPCを立ち上げると
FPSが高くなってました。
timeBeginPeriod、timeEndPeriodはアプリケーションの開始と終了に書いてましたが、
それを変更したら直りました。
どうもありがとう。
0825名前は開発中のものです。
2007/05/06(日) 12:47:32ID:RU6zDoh8テクスチャの内容なんて影響ないと思うから重要なのはテクスチャのサイズだけじゃないの?
サイズが2のべき乗かそうでないかの違いしかないんじゃない?
だから現状指定数値で実行できるなら
わざと2のべき乗のサイズにしたテクスチャの場合
と
2のべき乗のサイズでないテクスチャの場合
と
で速度を測ってみればいいじゃない
とりあえず表示はちゃんとしてなくても速度だけ測れればいいんでしょ?
ならこれで測れば問題ないんじゃない?
ただ、上の人も言ってるけど何が影響するのか要素が多すぎて
やってみてナンボってところあると思うよ
ミップマップとか、バイリニアフィルターとか、UVのアドレッシングモード、
1フレームでテクスチャ切り替えを頻繁に行ったとき、
1フレームでテクスチャ切り替えを頻繁に行わなかったとき
とかなんかちょっとした条件の変化で速度変わるかもわからんしね
テスト画面作ってるときは影響なかったけどゲーム作ってみたらモリモリ重くなったとかありがち。
ちなみに俺の環境ではたいして違いは無かった
0826名前は開発中のものです。
2007/05/06(日) 20:25:23ID:Ehnv/+IuGF6600以降のグラボは全部自由サイズのテクスチャに対応してる。
ただし範囲外サンプリングはCLAMPに限定され、
ピクセルシェーダー命令が一部使えないけどな。
0827名前は開発中のものです。
2007/05/06(日) 20:58:18ID:rhIxqW9PGF6600は含まれてますか?
0828名前は開発中のものです。
2007/05/06(日) 21:01:14ID:99tSTB5S0829名前は開発中のものです。
2007/05/06(日) 21:10:39ID:brQOxHaj0830名前は開発中のものです。
2007/05/06(日) 21:48:05ID:eoXP2/pR制限があるのはNONPOW2CONDITIONAL
これはGF6600どころか、もっと前から使える。
というのも、この機能の制限をよく考えれば分かるが、POW2テクスチャの
一部を使えば実装できるようになっているので、ドライバが対応すれば
どんなチップでも対応できる。
GeForceは6シリーズから、真のNon-Pow2テクスチャに対応したから
細かい制限は無いよ。(仕様上テクスチャ圧縮は使えないが)
0831名前は開発中のものです。
2007/05/06(日) 22:19:49ID:iZbcH5zM(Yes, No)、(Yes, Yes)、(No, No) の3パターンがあるから注意しないとね。
dxinfoで調べた限りでは、無条件の (No, No) なのはNVIDIAのGeForce6シリーズ以降だけで、
ATIは最新のRADEON X1000シリーズでもいまだに条件付きnon-pow2しか使えないみたい。
http://www.netsphere.jp/dxinfo/
0832名前は開発中のものです。
2007/05/07(月) 10:07:13ID:5DQ2mBLB俺はゲームで使うテクスチャは3D絵はpow2、2D絵は自由サイズにCAMP限定でエンジン組んでる。
non-pow2対応してない場合はpow2のテクスチャに拡大転送してUVは内部で自動再計算。
0833名前は開発中のものです。
2007/05/08(火) 13:27:17ID:RIeDnWhP英語版MSDN
ttp://msdn2.microsoft.com/en-us/library/bb174391.aspx
日本語版MSDN
ttp://msdn.microsoft.com/library/ja/default.asp?url=/library/ja/directx9_c/directx/graphics/reference/d3d/interfaces/idirect3ddevice9/getindices.asp
D3D8からD3D9に書き換える上でこの問題にぶつかりました。
D3D8では英語版のものと同じで引数が二つです。
二つ目の引数を取得したいのですが、GetIndicesで取得する方法、もしくは他の関数がありますか?
よろしくお願いします。
0834名前は開発中のものです。
2007/05/08(火) 17:35:02ID:mVBGg0iS0835833
2007/05/08(火) 19:07:00ID:c2lqje6hヘッダの確認もしたのですが、なにぶんあまり知識がないものでよくわからなかったのです。
なのでこちらで質問させていただきました。
BaseVertexIndexの取得についてですが、自己解決しました。
この引数を検索したら、DrawIndexedPrimitiveで使ってますね。
ありがとうございました。
0836名前は開発中のものです。
2007/05/08(火) 23:17:50ID:yEwVRv2d0837名前は開発中のものです。
2007/05/09(水) 10:09:33ID:51Ld+rsF描画速度が思うように速くならずに、非常に困っております。
画面サイズは800×600で、フィールドは32×32の板ポリゴンをタイル状に敷き詰めてます。
その上で動くユニットと小物オブジェクトも全て板ポリゴン(一部ビルボード)です。
それを1フレームごとに
Clear
フィールド描画 = SetTexture()→DrawPrimitiveUp()を各タイルごとに約500回
ユニット&オブジェ描画 = Vertex配列に座標数値を代入して
SetTexture()→DrawPrimitiveUp()を平均500回(500オブジェ分)
Present
と描画してるのですが、当方の環境はP4 1.8GHzでオンボードのグラボですが
せいぜい28FPSまでしか出せません(ポーズ中の描画Onlyのみで)。
たかだか1000個の板ポリゴンを描画するだけでFPS30もいかないものなんでしょうか?
これで本来の内部処理を加えると、20FPSが限界になってしまいます。
1フレームごとに
頂点配列に数値代入(フィールドタイル以外)→SetTexture()→DrawPrimitiveUp()
を板ポリの数だけ繰り返すやり方では駄目なのでしょうか?
0838名前は開発中のものです。
2007/05/09(水) 10:54:03ID:rTpY446L板ポリゴンはなるべくひとつの頂点配列に溜め込み、
テクスチャはなるべく一枚のテクスチャに詰め込み座標ずらしで対処して、
Draw系関数のコールとテクスチャの切り替えを少なくすればそれなりに改善されると思うよ。
まぁ1000回程度ではそこまでガタ落ちしないから、他にも問題抱えてそうだけど・・・。
パフォーマンスまわりの話は文面だけだと話しが拗れがちだから、
こーゆーとこで質問するよりプロファイラの読み方覚えた方が良いかと。
0839名前は開発中のものです。
2007/05/09(水) 14:05:17ID:mwYHV51hステートの変更を減らせとかDraw系関数の呼出回数を減らせとか、
結局そんな一般的なことしかなかなか書けないんだよね
プロファイラの読み方というかプロファイリングについての基本的なことなら、
とりあえずここを最後まで読んでみることをすすめてみる。
http://msdn2.microsoft.com/en-us/library/bb172234.aspx
長いけど、中でやってることは単純
0840名前は開発中のものです。
2007/05/09(水) 14:14:56ID:kPjUjaY4トライアングルセットアップがボトルネックとは限らん
0841名前は開発中のものです。
2007/05/10(木) 23:34:29ID:mOs/ZOHfサーフェイスにレンダリングすることってできますか?
0842名前は開発中のものです。
2007/05/10(木) 23:53:06ID:3Zh/e+WU0843841
2007/05/11(金) 00:17:56ID:XDYeDF5T僕の質問に対する回答でしょうか?
0844名前は開発中のものです。
2007/05/11(金) 00:47:00ID:lpID6sKi0845名前は開発中のものです。
2007/05/11(金) 01:05:36ID:JAYMlBr0厳密に対応してはおりません。
842と844は
"All your base are belong to us"
レベルの英語もどきですね。
0846名前は開発中のものです。
2007/05/11(金) 01:51:06ID:tUcXbWHz0847名前は開発中のものです。
2007/05/11(金) 01:56:20ID:AeMEV9bt842も844もネタだろ?
そのまま「はい」「いいえ」に置き換えたとしても
質問文の内容から考えて意味が通ってないしw
0848名前は開発中のものです。
2007/05/11(金) 02:40:30ID:EKcw+E3Dできません。
0849名前は開発中のものです。
2007/05/11(金) 09:50:20ID:FgQCKaVQできないし、そんなことをするような状況が存在しないだろう。
0850名前は開発中のものです。
2007/05/11(金) 17:53:19ID:MwuPxxrIGPU使った汎用演算で使いたいのかも。
まあ、その場合でも普通のテクスチャ使うか。。。
0851841
2007/05/11(金) 23:05:46ID:XDYeDF5Tありがとうございました
0853名前は開発中のものです。
2007/05/11(金) 23:45:13ID:vswfU1qI>>837の問題に対してまとめたところで意味あるのか?と聞きたい
例えばこの処置で速度が2〜3倍になったとしてもそれでも60FPS多分届かないぐらいなんだぜ
チップを敷き詰めるならロード時にチップ敷き詰めたデカイテクスチャを作ることだってできると思うんだが
こういうゲームではどうなんだろうか?
まあ、ゲームのマップ全体を作れとは言わんがある程度のまとまりで逐次ロードしつつ作れれば
描画時のポリ数に悩まされることはないんじゃないだろうか?
少なくとも俺はDrawPrimitiveにポリゴンをまとめて突っ込むなんてのはなんの解決策にもなってないと思うんだけど?
だってDrawPrimitiveって普通に何回も呼ぶぜw
呼ばなきゃゲーム作れねぇじゃんw
エフェクトによって2度描き3度描きよくやるぜw
やっぱさ、このまとめる形の最適化ってなんかおかしいと思えってw
0854名前は開発中のものです。
2007/05/11(金) 23:54:11ID:otpRAX3c噂を聞いたがどうなったんだ・・・・?
0855名前は開発中のものです。
2007/05/12(土) 00:29:50ID:8iMaV2enいやー、結構効果あると思う。以前おれも同じ状況になったし。
その時はスプライト?(ポリゴンx2の四角形、画面上で32x32ピクセルくらい)
一枚一枚でDraw〜()呼んでたら数百枚で60fps割った。
でもテクスチャが同じスプライトをまとめて、Draw〜()の回数減らしたら
30000枚くらい描画しても60fpsをキープできるようになった。
0856名前は開発中のものです。
2007/05/12(土) 00:57:05ID:8iMaV2enたしかその時は同じ頂点バッファを使いまわしてたんだ。(=頂点4つを数百回反復使用。。。)
1フレーム間に同じバッファで何回もLock → Drawを繰り返したのが悪かった気がする。
だからDraw〜()の回数もあると思うけどバッファのLockにも注意すべきかと。
0857名前は開発中のものです。
2007/05/12(土) 01:02:49ID:Dzr5JW1qおたくのゲームの作り方に関係なく「DrawPrimitive」には
相当のCPU負荷が存在するのは現実世界での事実だ。
だからあの手この手でDrawPrimitiveを減らすための努力や
システムを組むのに時間をかけるんだろう。
そのためだけにわざわざMSが専用APIが実装したり、
GPU Gemsにそれを扱った章が掲載されたりしている。
DirectX10では改善されているが、DirectX9まではそこがボトルネック
なのだからそこをいかに減らすのかもプログラマの腕の1つ。
0858名前は開発中のものです。
2007/05/12(土) 01:08:37ID:gQi1O0td0859名前は開発中のものです。
2007/05/12(土) 01:14:19ID:LW0FYzwBいや、重いのはわったけどさ
劇的に早くはなんねーってことよ。
なんつーの?DrawPrimitiveにまとめて突っ込むとかやりだすようになったら
手法を根本的に変える必要があるときだと思うのよ(まあ、例として>>853つーことで)
例えば、ソートをバブルソートが遅いからってクイックソートに変えて解決する問題って少ないと思うんだよね。
そりゃオーダーが全然違うし、クイックソートの方がはるかにはえーよ。それはわかる。
でも、実用的じゃないでしょ?
そういう話よ。
ゲームに限らずよ、ただ目先の数値につられてホイホイ最適化しちゃうのってまずいと思うぜ。
もう、これやるっきゃねーよ。って状況が意外と少ないと思うのよね。
0860名前は開発中のものです。
2007/05/12(土) 01:47:38ID:rTYk//u9http://goldenstudios.or.id/products/GTGE/
0861名前は開発中のものです。
2007/05/12(土) 02:40:52ID:LW0FYzwB弾幕STGの弾とかやるっきゃないね
ただ、こういうのは俺の中ではええねんw
だってこんなのもともと普通じゃできねぇような量を描画しようとしてるじゃん
しかも、普通だったら全部カメラに入るなんてまずないのに2Dであるために全部描画しなくちゃいけないとか特殊事情
だからこれはどうでもええねん。
できないような量を無理やり動かすんだから大いに最適化してくれって感じじゃん。
魂までもすり減らせって感じだ。
ただ、マップなんかは普通じゃん。
俺がいうところの何を普通っていって何が異常かってのがわからん?
これはオブジェクト単位で普通とかどうとか言ってると思うw
パーティクルやらちょっとまとまった単位でのもんってのは他のやり方があると思うんだよね。
もう、パーティクルなんてやめてアニメーションテクスチャにとっかえちゃうとか、
マップチップも3D空間にもってきたら下地じゃん。これもやりようがあると思うんだよね。
ただ、弾幕STGの弾は弾1つでオブジェクトなんでやりようがないと思うんだよね。
この場合は妙ちくりんなワザ使って最適化する必要があると思うんだよね。
って感じ。
だからやらなきゃいけんところはやらなきゃいけんと思うんだけど
そういうところって少ないと思うんだよね。
ああ、で、やっちゃいけないところをやっちゃうと
今度は身動きとれなくなっちゃうって感じなので(やってることが最適化なので当然だが)あんまりこの
DrawPrimitiveにまとめて突っ込む手法ってのはやる前に別のやり方がないかちょっと考えたほうがいいと思うんだよね。
0862名前は開発中のものです。
2007/05/12(土) 05:31:59ID:s6MTii/R0863名前は開発中のものです。
2007/05/12(土) 06:02:47ID:NH4reycD大抵のものは噛めば噛むほど不味くなる。
それと同じ
0864名前は開発中のものです。
2007/05/12(土) 06:58:58ID:bENb6ppLCPUがネックになってるかGPUがネックになってるかでどっちがいいのかなんて変わるだろ
0865名前は開発中のものです。
2007/05/12(土) 07:04:06ID:jgOYrxmUそんなもんケースバイケースだ、で終わるのに
0866名前は開発中のものです。
2007/05/12(土) 08:51:13ID:LW0FYzwB>ケースバイケース
それだってある程度法則があると思うんだけど
まあ、こんなDrawPrimitiveに全部突っ込むなんてのは稀だよ
0867名前は開発中のものです。
2007/05/12(土) 09:37:22ID:l19wAVj/0868名前は開発中のものです。
2007/05/12(土) 09:48:15ID:Dzr5JW1q何も画面描画を1回のDPで行えなんて無茶は誰も言ってないだろ。
描画数が多くてある程度まとめられるものをまとめようぜ、って話だろ。
背景のマップチップや弾幕STGの弾みたいなものはソートがそれほど重要でもなく
数だけはべらぼうに必要な場合が多いからそういうものはまとめる。
フォント描画のときだって1文字ずつDP呼び出すなんてまずしないだろ。
最近のD3DXFontですらキャッシュするように改良されてるんだから。
GPUがネックの場合はまとめようがまとめまいが処理落ち確定だから意味ないけどな。
GPUがネックなら基本的に数を減らすしかねぇ。
0869名前は開発中のものです。
2007/05/12(土) 09:48:27ID:LW0FYzwB解決策のアプローチの話なんだが・・・
0870名前は開発中のものです。
2007/05/12(土) 09:55:02ID:LW0FYzwB>数だけはべらぼうに必要な場合が多いからそういうものはまとめる
こうかくと1フレームのこういうモデルの描画すべてをまとめようとする奴がいる
あくまでオブジェクト単位でまとめるだけって書いておきたいw
■ このスレッドは過去ログ倉庫に格納されています