1

独自のシェーダーを使用して、シーンの照明を作成しているとしましょう。これは、多くのスレッド間で分割される可能性のあるものの良い例です。たとえば、シーンを小さなシーンに分割し、それらを別々のスレッドでレンダリングすることによってです。

  1. 手動でスレッドに分割する必要がありますか、それともグラフィックライブラリは何らかの方法でそのような操作を自動的に分割しますか? それともライブラリに依存していますか(OpenGLを使用しているように見えるlibgdxを使用しています)。それとも、1 つのスレッドにそのままにしておくべき他の理由があるのでしょうか?
  2. ワークロードをスレッド間で手動で分割する必要がある場合、いくつのスレッドを使用する必要がありますか? このような状況でのスレッドの数は、グラフィック カードに依存しますか、それともプロセッサに依存しますか?
4

1 に答える 1

3

OpenGL コンテキストはそれが作成されたスレッドでのみ有効であるため、OpenGL はマルチスレッド レンダリングをサポートしません。

パフォーマンスを向上させるためにできることは、更新ロジックとレンダリング ロジックを別々のスレッドに分離することです。ただし、OpenGL レンダリングに複数のスレッドを利用することはできません。

于 2013-04-03T20:37:47.537 に答える