我需要確保我的機器可以在嘗試打開它之前創建一個D3D窗口。我該怎麼做?有沒有glxinfo的Direct 3D等價物?
回答
你可能想看看DeviceCaps。它應該能夠告訴你設備的功能,這樣你就不會嘗試創建一個它不支持的窗口。
其實glxinfo確實創建了一個OpenGL窗口並創建了一個OpenGL上下文,但從未將其映射到屏幕上。我們必須創建一個OpenGL上下文來獲取所有信息,例如glxinfo。
很棒的評論,但沒有回答有關D3D的問題。 –
@MatthewRead:OP詢問如何在沒有上下文創建的情況下獲取GPU信息。他認爲glxinfo會在沒有創建窗口的情況下收集其信息。我回復說,glxinfo實際上是做平常的事情。我認爲考慮採用Direct3D的邏輯步驟並不難,試圖創建一個Direct3D窗口/上下文來查看機器實際上可以做些什麼。 – datenwolf
我發現了directX的glxinfo
等價物 - 它被稱爲dxdiag,由微軟提供。這可以讓你輸出一個帶有D3dStatus
字段的XML文件(在我的例子中「不可用」)。
如果使用Direct3D11您可以使用此代碼
// Determines feature level without creating a device.
D3D_FEATURE_LEVEL determineHighestSupportedFeatureLevel()
{
HRESULT hr = E_FAIL;
D3D_FEATURE_LEVEL FeatureLevel;
hr = D3D11CreateDevice(
nullptr,
D3D_DRIVER_TYPE_HARDWARE,
nullptr,
0,
nullptr,
0,
D3D11_SDK_VERSION,
nullptr,
&FeatureLevel,
nullptr);
if(FAILED(hr))
{
throw std::runtime_exception("Determine the highest supported Direct3D11 feature level failed.");
}
return FeatureLevel;
}
您正在使用哪個版本的DirectX
- 1. ViewResult有沒有ActionResult RedirectToAction的等價物?
- 2. DotNET上有沒有JVisualVM的等價物?
- 3. 有沒有.NET HttpWebRequest.ClientCertificates的Javascript等價物?
- 4. C#:有沒有JTable的等價物?
- 5. 有沒有Linux的SetWindowPos等價物?
- 6. 有沒有swfObject.js的Silverlight等價物?
- 7. 有沒有C++的Cocoa等價物?
- 8. Flex中有沒有JMock的等價物?
- 9. 有沒有Jasper JS的setUpClass等價物?
- 10. 在Go中有沒有java.io.Reader等價物?
- 11. 有沒有'git sed'或等價物?
- 12. 有沒有`git-dropbox`或等價物?
- 13. django-evolution有沒有SQLAlchemy等價物?
- 14. 沒有Google Drive API writersCanInvite等價物嗎?
- 15. 有沒有一個JavaScript的PHP的urldecode或html_entity_decode()的等價物?
- 16. 有沒有gcc的__attribute__(純)的便攜式等價物?
- 17. 有沒有Java的PHP的gzdeflate等價物?
- 18. 有沒有Ruby的官員寶石的Python等價物?
- 19. 有沒有iOS的didReceiveMemoryWarning的Android等價物?
- 20. 有沒有Ruby的「任何?」的Python等價物?功能?
- 21. 有沒有PHP的preg_replace的MySQL等價物?
- 22. 有沒有Java的IdentityHashMap的Python等價物?
- 23. 有沒有一個PHP的Perl的URI :: ParseSearchString等價物?
- 24. 有沒有.NET Web Start的.NET等價物?
- 25. 有沒有辦法在XSL-FO中使用'rowspan'的等價物?
- 26. 有沒有jQuery Regex的等價物以及如何使用它?
- 27. 有沒有這個函數的數學等價物?
- 28. 有沒有人知道TikZ的非TeX等價物?
- 29. 有沒有Linux的「資源文件」等價物?
- 30. 有沒有timeGetTime()的標準庫等價物?
? –