如何在windows7上使用DirectX9和多GPU
我在Windows7系统上有多个nVidia GPU卡(Q2000),没有SLI,只有一个显示器 现在我要做的是让Direct3D9设备在特定的GPU上运行 我可以使用如何在windows7上使用DirectX9和多GPU,windows,direct3d,multiscreen,multi-gpu,Windows,Direct3d,Multiscreen,Multi Gpu,我在Windows7系统上有多个nVidia GPU卡(Q2000),没有SLI,只有一个显示器 现在我要做的是让Direct3D9设备在特定的GPU上运行 我可以使用IDirect3D9::CreateDevice中的[Adapter]参数来选择GPU,但除非我在该GPU卡上连接第二个监视器,否则它将无法工作(如果我在Windows上只有一个桌面) 如果我单击分辨率控制面板中的“检测”按钮,它可以在我的主桌面一侧创建一个“假”桌面,并且CreateDevice(1,…)工作正常-但这不是我想要
IDirect3D9::CreateDevice
中的[Adapter]参数来选择GPU,但除非我在该GPU卡上连接第二个监视器,否则它将无法工作(如果我在Windows上只有一个桌面)
如果我单击分辨率控制面板中的“检测”按钮,它可以在我的主桌面一侧创建一个“假”桌面,并且CreateDevice(1,…)工作正常-但这不是我想要的
对于OpenGL,这很容易,因为WGL_NV_gpu_亲和性,它可以使OpenGL设备在第二个gpu上运行,只有一个监视器连接,一个桌面在windows上
我想知道是否有任何API可以作为“WGL\U NV\U gpu亲和性”用于Directx 9的工作
任何暗示都将不胜感激。提前谢谢 IDirect3D9::CreateDevice在第一个参数中使用“适配器”,它不是GPU,只是监视适配器您可以尝试使用Direct3D 9 Ex(IDirect3D9Ex,IDirect3DDevice9Ex)。它允许更灵活地创建设备,例如,它允许在windows被锁定时创建设备(原始d3d9不允许)。