1

Batch,Batch,Batchを読みました。

バッチ処理には、主に次の 2 つの処理があります。

1 n 個の三角形を提出する

2 セットステート

では、どちらがより多くのCPU時間を消費していますか?

または、SetState 自体は実際にはまったく問題ではありません。状態が変更されたら、三角形を再度送信する必要があるという理由だけで問題になりますか?

4

1 に答える 1

0

全体として、それは本当に問題ではありません(質問の最後にあなたが言うように)

  • その状態で描画するデータを送信せずに SetState を実行すると、それはばかげたことになります。SetState を実行しないでください。
  • 同じ状態で複数のバッチを描画する場合は、おそらくそれらを 1 つのバッチとして送信する必要があります。

「状態の設定」が行うことは、ドライバーに大きく依存し、どの状態を変更するかです。一部の変更には多くの検証が必要になる場合があり、それは状態を設定するとき、または実際に GPU に送信されるときに行うことができますが、確実に知る方法はありません。

一般に、「ドローを送信する」ことは、実行前に状態が変更されたかどうかに関係なく、1 バッチとしてカウントされます。

于 2016-05-27T12:34:11.353 に答える