1

假设我正在使用自己的着色器为场景创建照明。这是可以在多个线程之间划分的一个很好的例子,例如通过将场景划分为更小的场景并在单独的线程中渲染它们。

  1. 我应该手动将其划分为线程,还是图形库会以某种方式自动划分此类操作?还是依赖于库(我正在使用 libgdx,它似乎正在使用 OpenGL)。或者也许还有其他原因我应该将它单独留在一个线程中?
  2. 如果我应该手动在线程之间分配工作负载,我应该使用多少个线程?这种情况下的线程数是显卡依赖还是处理器依赖?
4

1 回答 1

3

OpenGL 不支持多线程渲染,因为 OpenGL 上下文仅在创建它的线程上有效。

为了获得一些性能,您可以做的是将更新逻辑和渲染逻辑分离到单独的线程中。但是,您不能利用多线程进行 OpenGL 渲染。

于 2013-04-03T20:37:47.537 回答