1

我总是遵循 WPF 的D3DImage.IsFrontBufferAvailable的常见建议,并在前端缓冲区不可用时停止渲染。但是在重置 D3D 设备后,这个属性有时会一直粘在上面false,再也不会出现true了。

除非我进入调试器并忽略该属性并继续渲染,否则它实际上会返回true并且一切都重新开始工作。

即使完全删除D3DImage.IsFrontBufferAvailable检查并始终完全忽略该属性似乎也很有效。

似乎有些人出于其他原因也建议这样做:

请注意,即使IsFrontBufferAvailable标志表明它不可用,您仍然可以正确渲染。诀窍是简单地忽略标志。

完全忽略它的缺点是什么?(或者是否有其他一些技巧使它不会停止工作?)

4

1 回答 1

2

我认为如果程序未显示(例如,如果用户处于锁定屏幕),建议保存资源。

根据我的经验,您可以放心地忽略它,即使未向用户显示 UI,它也会继续呈现。

如果您的应用程序不需要大量资源,这不会对功耗产生很大影响。

于 2015-04-29T15:13:38.367 回答