我需要確保我的機器可以在嘗試打開它之前創建一個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. 有沒有C++的Cocoa等價物?
- 2. 有沒有.NET HttpWebRequest.ClientCertificates的Javascript等價物?
- 3. C#:有沒有JTable的等價物?
- 4. 有沒有Linux的SetWindowPos等價物?
- 5. DotNET上有沒有JVisualVM的等價物?
- 6. 有沒有'git sed'或等價物?
- 7. 在Go中有沒有java.io.Reader等價物?
- 8. 有沒有`git-dropbox`或等價物?
- 9. 有沒有一個JavaScript的PHP的urldecode或html_entity_decode()的等價物?
- 10. 有沒有gcc的__attribute__(純)的便攜式等價物?
- 11. 有沒有Java的PHP的gzdeflate等價物?
- 12. 有沒有Ruby的「任何?」的Python等價物?功能?
- 13. 有沒有iOS的didReceiveMemoryWarning的Android等價物?
- 14. 有沒有PHP的preg_replace的MySQL等價物?
- 15. 有沒有一個PHP的Perl的URI :: ParseSearchString等價物?
- 16. 有沒有.NET Web Start的.NET等價物?
- 17. 有沒有人知道TikZ的非TeX等價物?
- 18. 在libGDX中有沒有JavaFX的PathTransition等價物?
- 19. 有沒有jQuery Regex的等價物以及如何使用它?
- 20. 有沒有timeGetTime()的標準庫等價物?
- 21. 有沒有Linux的「資源文件」等價物?
- 22. 有沒有辦法在XSL-FO中使用'rowspan'的等價物?
- 23. 有沒有人使用MonoTouch實現了一個StackPanel等價物?
- 24. dplyr :: summarize有熊貓的等價物嗎?
- 25. 是否有Python的Term :: ANSIScreen等價物?
- 26. 是否有「python -i」的ruby等價物?
- 27. PHP的ArrayObject是否有in_array等價物?
- 28. 是否有Android的Application :: onDestroy()等價物?
- 29. XMLUnit有Ruby的等價物嗎?
- 30. 是否有.Net System.Data的Java等價物?
? –