我总是遵循 WPF 的D3DImage.IsFrontBufferAvailable的常见建议,并在前端缓冲区不可用时停止渲染。但是在重置 D3D 设备后,这个属性有时会一直粘在上面false
,再也不会出现true
了。
除非我进入调试器并忽略该属性并继续渲染,否则它实际上会返回true
并且一切都重新开始工作。
即使完全删除D3DImage.IsFrontBufferAvailable
检查并始终完全忽略该属性似乎也很有效。
似乎有些人出于其他原因也建议这样做:
请注意,即使
IsFrontBufferAvailable
标志表明它不可用,您仍然可以正确渲染。诀窍是简单地忽略标志。
完全忽略它的缺点是什么?(或者是否有其他一些技巧使它不会停止工作?)