Direct3D9 GetAdapterCount仅返回1,双GPU场景下如何识别并切换?
已安装两块显卡,但
IDirect3D9::GetAdapterCount()仅返回1,如何让Direct3D9应用识别双GPU并切换? 我已安装两块显卡(包括NVIDIA Quadro M4000),但IDirect3D9::GetAdapterCount()仅返回1。如何让我的Direct3D9应用识别两块GPU并通过编程实现切换?
系统配置
- GPU 0: NVIDIA Quadro M4000
- 驱动版本: 32.0.15.7283
- 驱动日期: 2025/3/14
- DirectX版本: 12(FL 12.1)
- PCI位置: Bus 11, Device 0, Function 0
- GPU 1: [第二块显卡详情]
- 操作系统: [你的Windows版本]
预期行为
GetAdapterCount()应返回2- 能够选择用于渲染的GPU
当前行为
GetAdapterCount()返回1- 其他工具(如DXDiag)可正确检测到两块GPU
复现代码
#include <d3d9.h> int main() { IDirect3D9* pD3D = Direct3DCreate9(D3D_SDK_VERSION); if (pD3D) { UINT adapterCount = pD3D->GetAdapterCount(); // Returns 1 // ... pD3D->Release(); } return 0; }
内容的提问来源于stack exchange,提问作者Melonia-H
相关产品推荐
相关产品推荐

