Я случайно получаю эту ошибку (D2DERR_RECREATE_TARGET) много раз в час и после прочтения этой ошибки кажется, что я не могу этого избежать. Я использую SharpDX, который является «проектом с открытым исходным кодом, предоставляющим полный DirectX API под платформой .Net».Действительно ли ошибка D2DERR_RECREATE_TARGET подразумевает, что мне нужно отслеживать все, что создает моя цель рендеринга?
В соответствии с документацией Microsoft: «Direct2D сигнализирует потерянное устройство, возвращая код ошибки D2DERR_RECREATE_TARGET из метода EndDraw. Если вы получите этот код ошибки, вы должны повторно создать цель рендеринга и все зависящие от устройства ресурсы».
Означает ли это, что мне нужно отслеживать все зависящие от устройства ресурсы, которые создает моя цель рендеринга (Есть много!) И перестает использовать или я ошибаюсь? Или, может быть, кто-то здесь знает путь этой ошибки?
Да, если вы хотите, чтобы ваше приложение правильно обрабатывало его. Вы не должны часто ошибаться в этой ошибке - обычно это происходит, когда драйвер обновляется или запускается сеанс удаленного рабочего стола, или если с вашим драйвером возникает проблема с сбоем. Один относительно простой способ справиться с этим - это перезагрузить приложение, предполагая, что у вас нет ничего, что невозможно восстановить с диска. – MooseBoys