Можно ли игнорировать WPF D3DImage.IsFrontBufferAvailable?
Я всегда следовал общему совету для WPF D3DImage.IsFrontBufferAvailable и останавливал рендеринг, когда передний буфер недоступен. Но после сброса устройства D3D это свойство иногда остается привязанным к false
и никогда не становится true
снова.
Если я не перейду к отладчику и не проигнорирую свойство и все равно продолжу рендеринг, то он фактически возвращается к true
и все начинает работать снова.
Даже удаляя D3DImage.IsFrontBufferAvailable
проверка полностью и полное игнорирование свойства все время, кажется, работает хорошо.
Кажется, это также рекомендуется некоторыми людьми по другим причинам:
Обратите внимание, что даже если
IsFrontBufferAvailable
Флаг указывает, что он недоступен, вы все равно сможете правильно отрендерить. Хитрость заключается в том, чтобы просто игнорировать флаг.
Каковы недостатки, чтобы полностью игнорировать это? (Или есть какой-то другой трюк, который не дает перестать работать?)
1 ответ
Я думаю, что рекомендуется сохранять ресурсы, если программа не отображается (например, если пользователь находится на экране блокировки).
Из моего опыта вы можете спокойно проигнорировать его, он просто продолжает рендеринг, даже если пользовательский интерфейс не отображается пользователю.
Если вашему приложению не нужно много ресурсов, это не оказывает большого влияния на энергопотребление.