Как улучшить скорость копирования с поверхности D3D обратно в системную память - PullRequest
0 голосов
/ 15 июля 2010

Я использую следующие коды для копирования поверхности D3D обратно в системную память, но производительность при вызове операции LockRect плохая, она тратит много времени на эту функцию Есть ли способ улучшить это? Заранее спасибо.

Ниже приведены примеры кодов.

D3DDev-> GetRenderTargetData (renderTarget, offscreenSurface);

// Закрепить поверхность для чтения пикселей

offscreenSurface-> LockRect (& lr, & rect, D3DLOCK_READONLY);

1 Ответ

0 голосов
/ 15 июля 2010

Какая версия D3D? Вы можете создать цель рендеринга с поддержкой HDC, получить ее поверхность и впоследствии использовать surface-> GetHDC () . Я использовал этот прием вместо LockRect, он дал приемлемую производительность для захвата данных D3D для использования с обычным GDI или I / O.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...