【C++】 DirectX初心者質問スレ Part10 【C】
■ このスレッドは過去ログ倉庫に格納されています
0049デフォルトの名無しさん
2006/07/29(土) 14:38:09ここだと
>However, it would be advisable to keep track of these yourself,
>so that you can avoid the overhead of making a useless D3D call.
>The memory and processing footprint of doing this should be really low, anyways.
いらんD3Dの呼び出しを回避するために、自分で追っかけたほうがいいよ。
そのためのコストなんて小さなもんなんだし、
という人もいれば、
SetRenderState( A, valueA ) // set on device
SetRenderState( A, valueB ) // set on device
SetRenderState( A, valueA ) // set on device
SetRenderState( A, valueB ) // set on device - only value that gets used
DrawSomething()
こうなるので、PureDeviceでないなら単純に描画の手前でまとめて処理するように
心がければそれで終了と言ってる人もいる様に思える。
単純にSetRenderStateだけを自前でラップしたところで
SetRenderState( A, valueA ) // set on device
SetRenderState( A, valueB ) // set on device
SetRenderState( A, valueA ) // set on device
は防げないし。
ステートの変更を自前で控えておいて、Draw〜系の呼び出し時に
まとめて迎撃するのは意味がある様にも思えるけど、
これはD3Dの内部で同じことをやってくれてないのかなあ。
■ このスレッドは過去ログ倉庫に格納されています