程序化 SLI 和 CrossFireX 检测

Programmatic SLI and CrossFireX Detection

使用 C 如何检测当前安装的独立 GPU 以及它们当前是否在 CrossFireX 或 SLI 中。我正在使用 windows 7 和 openGL。我想发现这些信息,以便在我的游戏中可以更有效地支持 Alternate Frame Rendering

您需要为每个供应商使用特定的扩展。对于 CrossFire,您将使用 WGL_AMD_gpu_association, and specifically wglGetGPUIDsAMD and wglGetGPUInfoAMD to get information about the different GPUs. For Nvidia SLI, you would use WGL_NV_gpu_affinity,特别是 wglEnumGpusNVwglEnumGpuDevicesNV 来获取有关不同 GPU 的信息。

要真正利用多 GPU,您还需要使用这两个扩展中的函数创建上下文。