[英]Failed to create DirectX Device and Swapchain
我有錯誤問題
if (FAILED(D3D11CreateDeviceAndSwapChain( nullptr, D3D_DRIVER_TYPE_HARDWARE, nullptr, createFlags, requestedLevels, sizeof(requestedLevels) / sizeof(D3D_FEATURE_LEVEL), D3D11_SDK_VERSION, &scd, &pSwapChain, &pDevice, &obtainedLevel, &pContext))) { MessageBox(hWnd, "Failed to create directX device and swapchain!", "Error", MB_ICONERROR); return NULL; }
使用 .dll 文件時始終顯示消息
我已經重新安裝了 DirectX 和 Nvidia 驅動程序。 你下一步怎么做? (其他電腦工作正常)
最可能的原因是您設置了D3D11_CREATE_DEVICE_DEBUG
創建標志,但您的系統沒有安裝 Direct3D 調試設備。 運行舊版 DirectX SDK不適用於帶有 DirectX 11.1 或更高版本的 Windows 7 SP1 以獲取開發人員運行時。
正如上面的評論中所指出的,您從該函數返回的
HRESULT
值會提示原因,但您未能在代碼片段中輸出它。
您在系統上獲取調試設備的方式取決於您正在運行的操作系統。 有關完整列表,請參閱此帖子。 例如,如果您運行的是 Windows 10,則不會安裝任何 SDK,而必須啟用圖形工具“按需功能”。
其他可能的原因是:
有您的系統上支持你沒有設備requestedLevels
的列表Direct3D的硬件功能水平
您已將一些無效的輸入參數集傳遞給設備或交換鏈創建——使用更現代的方法來創建獨立於設備創建的交換鏈的另一個原因。 請注意, D3D11CreateDeviceAndSwapChain
是一個遺留函數,因此您用作教程的任何材料也可能已經過時。 請參閱Direct3D 11 創建設備剖析
如果您不熟悉 DirectX 開發,我建議您查看DirectX Tool Kit 教程。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.