Всем привет! Как известно, FMX сама не может справится с ошибками dxgi
Что я пытался сделать:
1) в FMX.Canvas.D2D ведем список
Canvases: TList<TCanvasD2D>;
2) после получения ошибки пытаемся пересоздать ресурсы таким образом
procedure ResetDxEngine;
var
c: TCanvasD2D;
begin
for c in Canvases do c.DisposeResources;
TCanvasD2D.DestroySharedResources;
TCanvasD2D.CreateSharedResources;
for c in Canvases do c.CreateResources;
end;
Это не срабатывает, канва перестает что-либо рисовать. Что я упускаю?
(Сознательно сократил коды чтобы передать максимально суть вопроса - как правильно пересоздать DirectX объекты и интерфейсы?)
Вопрос
Nick Peterson
Всем привет! Как известно, FMX сама не может справится с ошибками dxgi
Что я пытался сделать:
1) в FMX.Canvas.D2D ведем список
2) после получения ошибки пытаемся пересоздать ресурсы таким образом
procedure ResetDxEngine; var c: TCanvasD2D; begin for c in Canvases do c.DisposeResources; TCanvasD2D.DestroySharedResources; TCanvasD2D.CreateSharedResources; for c in Canvases do c.CreateResources; end;
Это не срабатывает, канва перестает что-либо рисовать. Что я упускаю?
(Сознательно сократил коды чтобы передать максимально суть вопроса - как правильно пересоздать DirectX объекты и интерфейсы?)
Ссылка на комментарий
1 ответ на этот вопрос
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.