- 491 名前:名前は開発中のものです。 mailto:sage [04/08/20 09:34 ID:NSEkMdfG]
- 暇なんでDX9cのHLSLの最適化について最近わかったことを書いてやろう。
・structはuniform引数に使ってはならない。 実際には使わないメンバがあったとしてもそのまま残ってしまう。 同様に、例えば、uniform引数としてfloat変数を4つ定義していた場合 最適化によってこれがfloat4にまとめられるといったことはない。 あらかじめ意識してベクトルにまとめられるものは自分でまとめておく必要がある。 ・preshaderは、式の並びに影響される。例えば、 auto変数 = uniform変数 * uniform変数 * auto変数 は正しく最適化され、uniform変数が1つ減らされるのに対し auto変数 = auto変数 * uniform変数 * uniform変数 はなったりならなかったり挙動不審になる。 ・pixel shader v1.3 以下は最適化度が低い。 なって当然の最適化がされないケースが多い。
|

|