在一段时间后重复创建和销毁DirectX9设备时,CreateDeviceEx调用随机失败,错误为: 0x8876086A(D3DERR_NOTAVAILABLE)
在debug 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;