我需要确保我的机器可以在尝试打开它之前创建一个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等价物?
? –