在PC上创建OpenGL上下文时,是否有办法选择使用哪个物理设备或多少个设备? 最新的OpenGL(4.5)API是否支持多GPU架构? 如果我有两张相同的显卡(例如,两张Nvidia GeForce显卡),如何正确地编写OpenGL API以从具有两张显卡的事实中获得好处? 如何将OpenGL程序从单GPU版本转移到最小努力的多GPU版本?
OpenGL驱动程序将多个GPU(在Crossfire / SLI配置中)公开为一个“单一”的GPU。在幕后,驱动程序理论上将找出如何在两个GPU之间有效地分配渲染调用。有几种方法可以实现这样做,但您无法控制驱动程序选择哪种机制。
如果您想更直接地控制哪个GPU与哪个GL上下文相关联,您必须使用供应商特定的扩展。AMD具有WGL_AMD_gpu_association,而NVIDIA则具有WGL_NV_gpu_affinity。
EXT_platform_device
的扩展,允许选择一个 GPU 进行渲染。 - Hi-Angel