我希望我在這個論壇發帖!Directx11 SDK June 2010(2010)VC++ 2010初始化
最近,我開始使用VC++ 2010上的Directx 11(2010)SDK進行編程,在戴爾LapTop上安裝NVidia GeForce GT 630M GPU和Intel HD 4000芯片。
你要做的一件事就是嘗試枚舉可用的適配器和輸出等等。這裏有一個例子:
IDXGIFactory1 *factory;
CreateDXGIFactory1(__uuidof(IDXGIFactory1), (LPVOID *)&factory);
IDXGIAdapter *adapter;
factory->EnumAdapters(0, &adapter);
DXGI_ADAPTER_DESC desc;
adapter->GetDesc(&desc);
當我運行這一點,說明結構包含的信息爲我的英特爾HD芯片,而不是信息爲我的GPU!
現在,當我打開我的NVidia控制面板並選擇GPU作爲首選處理器並重新運行示例時,我在desc中獲得了GPU的信息 - 這是正確的!而且,當我嘗試列舉這個適配器的輸出時,我發現至少有一個。
我的問題是:有沒有辦法以編程方式完成這一點,就像在DirectX 11 SDK中一樣,這樣我就不必在我的NVidia控制面板中設置設置了?
我經歷了SDK代碼(用於EmptyProject11),並以某種方式他們「搶」了GPU而不是Intel芯片。我將WinMain函數中的所有代碼都註釋掉了,並插入了上面的代碼,它仍然抓住了GPU!這與Project Setup,環境變量,命令行參數或....有關嗎?我的意思是他們如何做到這一點!?!?!?
我將不勝感激這件事。
感謝
這裏有一個類似的問題,但我不確定它已解決http://stackoverflow.com/questions/10535950/forcing-nvidia-gpu-programmatically-in-optimus-laptops/10545107#10545107 – jcoder 2013-05-03 08:40:10