在 Windows XP 中使用多个视频卡进行 OpenGL 渲染

Posted

技术标签:

【中文标题】在 Windows XP 中使用多个视频卡进行 OpenGL 渲染【英文标题】:OpenGL rendering in Windows XP with multiple video cards 【发布时间】:2010-10-07 21:57:10 【问题描述】:

我正在为 Windows XP 开发一个 OpenGL 应用程序。目标机器有 2 个 NVIDIA GeForce 9800GT 显卡,因为应用程序需要输出 2 个模拟视频流。

应用程序本身有两个 OpenGL 窗口,每个视频卡一个。每个视频卡都连接到一个监视器。至于代码,它基于minimal OpenGL example。

我如何知道应用程序是否同时使用两个视频卡进行渲染?

目前,我不在乎应用程序是仅在 Windows XP 上运行还是仅在 NVIDIA 显卡上运行,我只需要知道这两者是如何工作的。

【问题讨论】:

不确定您是否已经有了这个问题的答案,但仍然为您提供了一些可能有帮助的建议。 【参考方案1】:

我认为您需要阅读 WGL_nv_gpu_affinity 扩展。您创建亲和力掩码并结合使用 wglMakeCurrent()。这里有一些提示:

http://developer.download.nvidia.com/opengl/specs/WGL_nv_gpu_affinity.txt

Pdf from NVidia.com

干杯!

【讨论】:

Geforce 不支持 GPU 亲和性。选项是 Linux,或者在每个附加的屏幕上创建一个窗口,并通过不“屏蔽”GPU 来降低性能。编辑:或激活 SLI,如果您的应用程序随它扩展。 nVidia 网站提供了有关使用 SLI 扩展哪种类型的工作负载的文档。【参考方案2】:

我相信您可以从gDEBugger 获得此类信息,以了解基于 OpenGL 的应用程序。

如果您没有同时使用这两张卡,您可以查看Equalizer 进行并行渲染,这是一个很棒的项目。

【讨论】:

以上是关于在 Windows XP 中使用多个视频卡进行 OpenGL 渲染的主要内容,如果未能解决你的问题,请参考以下文章

windows xp mui是啥怎么用

Windows 7和Windows XP中的TextBox之间是否存在根本差异

为 Visual Studio 优化 windows XP

禁用 Windows XP 文件缓存

Windows NT/2000/XP进程与线程之间的关系

visual c++ 2012 应用程序无法在 windows xp 下运行 - 已更新