【发布时间】:2012-03-13 20:26:20
【问题描述】:
这甚至可能吗?我正在学习 DirectX atm,并正在尝试将我学到的一些知识应用到 OpenGL。
我知道您可以使用延迟上下文在 DirectX 中进行多线程渲染,但我认为 OpenGL 没有这种支持,我在 OpenGL 中找到了多线程示例,但没有找到我试图找出的多线程渲染;还是我误解了其中的区别?
如果可以的话,谁能提供一些基本的代码给我作为例子。
【问题讨论】:
-
只使用异步上传.. 还有:opengl.org/wiki/OpenGL_and_multithreading
-
我不确定您将从 MT 渲染中获得什么。 AFAIK、D3D 和 OpenGL 最终必须将命令序列化到驱动程序级别的单个线程。我想 MT 渲染只会使问题严重复杂化。
-
“我知道你可以在 DirectX 中使用延迟上下文进行多线程渲染” 这不是多线程渲染。那只是存储一些渲染命令并播放它们。
-
延迟上下文背后的想法是驱动程序的工作可以跨多个 CPU 内核进行拆分。即使指令最终按顺序发送到 GPU,如果 CPU 受限,这仍然可以提高性能。
标签: multithreading opengl directx rendering