簡體   English   中英

未能創建 DirectX 設備和交換鏈

[英]Failed to create DirectX Device and Swapchain

  1. 我有錯誤問題

    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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM