【发布时间】:2011-08-31 07:54:28
【问题描述】:
我正在使用 DirectX 在非托管代码中呈现图像,并在 WPF 中使用 D3DImage 来承载表面。当系统进入睡眠状态时,会引发 frontBufferLost 事件。处理事件并销毁并重新创建所有资源。
在非托管代码中使用 Direct3D9 时,一切正常。引发事件后,将重新创建设备并执行渲染而不会出现任何错误。
但是当我在引擎中使用 DirectX10 时,由于我还需要 Direct3D9 设备来实现 Surface 队列,所以我尝试删除并重新创建 10 和 9 设备。在这个阶段,在 GetDeviceCaps 调用期间,我总是得到 0x8876086a,我认为这是设备不可用。
有人可以帮我解决这个问题吗?
【问题讨论】:
标签: wpf directx directx-9 directx-10