Более быстрая альтернатива DirectDraw Surface GetD C ()? - PullRequest
1 голос
/ 05 мая 2020

Проблема

Я пытаюсь нарисовать содержимое Direct2D на поверхности DirectDraw (задний буфер), эта часть в порядке. Проблема заключается в стоимости использования GetD C () на поверхности DirectDraw (на современном p c), которая блокирует и получает контекст устройства, который затем используется для BindD C () с Direct2D до Direct2D. происходит рисование. GetD C и ReleaseD C обходятся настолько дорого, что если делать это один раз за кадр, я получаю примерно 15 кадров в секунду.

Есть ли более быстрый или альтернативный способ Get / ReleaseD C () на поверхности DirectDraw или каким-то образом кешировать его, чтобы не иметь невыносимой производительности? пытается использовать хуки для обновления графического API. В конце концов, я хотел бы переместить все вызовы API directdraw на direct2d.

...