Можно ли игнорировать WPF D3DImage.IsFrontBufferAvailable?

Я всегда следовал общему совету для WPF D3DImage.IsFrontBufferAvailable и останавливал рендеринг, когда передний буфер недоступен. Но после сброса устройства D3D это свойство иногда остается привязанным к false и никогда не становится true снова.

Если я не перейду к отладчику и не проигнорирую свойство и все равно продолжу рендеринг, то он фактически возвращается к true и все начинает работать снова.

Даже удаляя D3DImage.IsFrontBufferAvailable проверка полностью и полное игнорирование свойства все время, кажется, работает хорошо.

Кажется, это также рекомендуется некоторыми людьми по другим причинам:

Обратите внимание, что даже если IsFrontBufferAvailable Флаг указывает, что он недоступен, вы все равно сможете правильно отрендерить. Хитрость заключается в том, чтобы просто игнорировать флаг.

Каковы недостатки, чтобы полностью игнорировать это? (Или есть какой-то другой трюк, который не дает перестать работать?)

1 ответ

Решение

Я думаю, что рекомендуется сохранять ресурсы, если программа не отображается (например, если пользователь находится на экране блокировки).

Из моего опыта вы можете спокойно проигнорировать его, он просто продолжает рендеринг, даже если пользовательский интерфейс не отображается пользователю.

Если вашему приложению не нужно много ресурсов, это не оказывает большого влияния на энергопотребление.

Другие вопросы по тегам