windows - DirectX9 CreateDeviceEx 失败并显示 D3DERR_NOTAVAILABLE
问题描述
在一段时间后重复创建和销毁 DirectX9 设备时,CreateDeviceEx 调用随机失败并出现错误:0x8876086A (D3DERR_NOTAVAILABLE)
在调试 directX 二进制文件上启用 Debug spew 时,我在 CreateDeviceEx 调用失败时看到以下日志:
Direct3D9:(错误):低于 8bpp 的模式不支持 DDraw 和 Direct3D。创建设备失败。
此外,如果有帮助,我只会在笔记本电脑上收到此错误,而不是在运行类似配置的台式电脑上。
关于可能出错的任何线索?
我正在使用最新的 Windows 10 版本和 GTX-980(台式机)/GTX-1060(笔记本电脑)和最新的图形驱动程序。
根据要求,以下是 D3DPRESENT_PARAMETERS :
D3DPRESENT_PARAMETERS d3dpp;
ZeroMemory(&d3dpp, sizeof(d3dpp));
d3dpp.Windowed = TRUE;
d3dpp.SwapEffect = D3DSWAPEFFECT_DISCARD;
d3dpp.BackBufferWidth = 128;
d3dpp.BackBufferHeight = 128;
d3dpp.BackBufferFormat = D3DFMT_X8R8G8B8;
d3dpp.EnableAutoDepthStencil = TRUE;
d3dpp.AutoDepthStencilFormat = D3DFMT_D16;
d3dpp.PresentationInterval = D3DPRESENT_INTERVAL_IMMEDIATE;
解决方案
推荐阅读
- coq - 简单算术表达式的证明
- python - 不提示输入(Python/Jupyter/Chrome)
- c++ - C ++不等待输入
- javascript - 为什么我的图片没有出现,只看到alt?
- sql - BigQuery - “for loop like”操作,以帮助将行批量插入到表中
- tensorflow2.0 - TensorFlow 2,如何在 C++ API 中重置有状态的 RNN 隐藏状态?
- python - FLASK PYTHON ModuleNotFoundError:没有名为“tensorflow”的模块
- nginx - Istio - 用于 Azure Front Door 的默认 ssl 证书
- python-3.x - Green to python,Discord Embed 有问题
- java - 在 firestore 中使用 orderBy 执行 whereEqualTo