My PC(in Win7) sets up with 2 video graphic cards which both are GTX750, and each card connects to 2 monitors. In other words, there are 2 cards and 4 monitors on my PC.
我的电脑(在Win7中)设置了2个视频图形卡,两个都是GTX750,每个卡连接到2个显示器。换句话说,我的电脑上有2张卡和4个显示器。
Now I run a program that is to render video uniformly to 4 windows with DirectX9 programming, one window one monitor. The trouble is that the GPU loads and memory usage are obviously not uniform.
现在我运行一个程序,使用DirectX9编程将视频统一渲染到4个窗口,一个窗口一个监视器。问题是GPU加载和内存使用显然不均匀。
How could I render video uniformly with more than one graphic cards? IDirect3D9
and IDirect3DDevice9
seem that there are no API to decide which card we want to use.
如何使用多张图形卡统一渲染视频? IDirect3D9和IDirect3DDevice9似乎没有API来决定我们想要使用哪个卡。
Here is information tracked by GPU-Z, this is for the higher load card:
这是GPU-Z跟踪的信息,这是针对更高负载的卡:
And this one is for the lower load card:
这个是用于低负载卡:
1 个解决方案
#1
You can specify which display adapter to use when you create your IDirect3DDevice9 (first parameter Adapter
): https://msdn.microsoft.com/en-us/library/windows/desktop/bb174313(v=vs.85).aspx
您可以指定在创建IDirect3DDevice9(第一个参数适配器)时使用的显示适配器:https://msdn.microsoft.com/en-us/library/windows/desktop/bb174313(v = vs.85).aspx
IDirect3D9
has functions (GetAdapterCount
and GetAdapterIdentifier
) which identify how many adapters your system has, and their identifying information. In your case, you application will need to create multiple IDirect3DDevice9s, to utilize the multiple adapters in your system. There is no system to do this automatically (unless your video cards are in an SLI configuration).
IDirect3D9具有函数(GetAdapterCount和GetAdapterIdentifier),用于标识系统具有的适配器数量及其标识信息。在您的情况下,您的应用程序将需要创建多个IDirect3DDevice9s,以利用系统中的多个适配器。没有系统可以自动执行此操作(除非您的视频卡采用SLI配置)。
#1
You can specify which display adapter to use when you create your IDirect3DDevice9 (first parameter Adapter
): https://msdn.microsoft.com/en-us/library/windows/desktop/bb174313(v=vs.85).aspx
您可以指定在创建IDirect3DDevice9(第一个参数适配器)时使用的显示适配器:https://msdn.microsoft.com/en-us/library/windows/desktop/bb174313(v = vs.85).aspx
IDirect3D9
has functions (GetAdapterCount
and GetAdapterIdentifier
) which identify how many adapters your system has, and their identifying information. In your case, you application will need to create multiple IDirect3DDevice9s, to utilize the multiple adapters in your system. There is no system to do this automatically (unless your video cards are in an SLI configuration).
IDirect3D9具有函数(GetAdapterCount和GetAdapterIdentifier),用于标识系统具有的适配器数量及其标识信息。在您的情况下,您的应用程序将需要创建多个IDirect3DDevice9s,以利用系统中的多个适配器。没有系统可以自动执行此操作(除非您的视频卡采用SLI配置)。