[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 2chのread.cgiへ]
Update time : 01/02 08:13 / Filesize : 170 KB / Number-of Response : 607
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

【C++】 DirectX初心者質問スレ Part15 【C】



180 名前:デフォルトの名無しさん mailto:sage [2007/12/26(水) 14:13:55 ]
レンダリングステートを変更する事は、結構重いコストとして扱われるので、
Dx6まではコロコロ変化させずに、同じレンダリングステートのメッシュやターゲットを纏めて
レンダリングしたり、ステートの変化が最小になる順番でステート郡をレンダリングしてたりしたんだけど、
ステートブロックを使えば、複数のレンダリングステートの変化を一度にデバイスに適用出きるので、
上記の事をあまり意識しなくて良いレンダリングループが作れるようになったわけ。

でも、別にレンダリングするターゲットやステートの種類によってはステートブロックを使わなくても
そんなに処理が重くならないのも事実で、自分が作成しているプログラムでステートの変更が
重い処理だな、と思ったらステートブロックを試してみれば良いんじゃないの?
GPUとGPUへのバスの帯域、レンダリングするプリミティブの数、ステートの変更量といった要因が
あって、トータルで考える必要があるから、なんでもかんでも管理するのは効率的ともいえないし、
大規模エンジンを作るのに、ステートの管理コストを嫌って管理しないのも効率が逆に悪くなるし。

ケースバイで。効率的ってのは目的が無いと決定しない項目だから。






[ 続きを読む ] / [ 携帯版 ]

全部読む 前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<170KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef