[英]How to check in code if CPU supports hardware acceleration on C#?
我正在構建一個程序,它使用Direct3D
object, using Direct3D = Microsoft.DirectX.Direct3D
來渲染實時 stream。 我在Windows 7
機器上對其進行了測試,問題是 CPU 不支持Hardware Acceleration
。 為了運行該程序,我將創建Direct3D
object 時的標志更改為Direct3D.CreateFlags.SoftwareVertexProcessing
,這很好。 我想知道是否有任何方法可以檢查 CPU 是否支持Hardware Acceleration
。 如果是,請使用Direct3D.CreateFlags.HardwareVertexProcessing
,如果不是,請使用software
。 我的程序將運行不同的機器,所以這種方式比構建兩個程序要好。 該程序是用C#
編寫的,但如果您知道如何用其他語言編寫,我將不勝感激,我將嘗試翻譯為C#
。
我不知道 C# 中是否有更直接的路線,但在 [C++][1] 中,您可以檢查:
HRESULT GetDeviceCaps(
UINT Adapter,
D3DDEVTYPE DeviceType,
D3DCAPS9 *pCaps
);
[1] https://docs.microsoft.com/en-us/windows/win32/direct3d9/selecting-a-device
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.