Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-core/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在windows7上使用DirectX9和多GPU_Windows_Direct3d_Multiscreen_Multi Gpu - Fatal编程技术网

如何在windows7上使用DirectX9和多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,…)工作正常-但这不是我想要

我在Windows7系统上有多个nVidia GPU卡(Q2000),没有SLI,只有一个显示器

现在我要做的是让Direct3D9设备在特定的GPU上运行

我可以使用
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不允许)。