0

我正在使用以下代码将 D3D 表面复制回系统内存,但是调用 LockRect 操作时性能很差,它花费了大量时间这个函数。有没有办法改进它?提前致谢。

下面是示例代码。

D3DDev->GetRenderTargetData(renderTarget, offscreenSurface);

// 锁定表面以读取像素

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

4

1 回答 1

0

什么D3D版本?您可以创建一个支持 HDC 的渲染目标,获取它的表面,然后使用surface->GetHDC()。我使用了这个技巧而不是“LockRect”,它为捕获 D3D 数据以与常规 GDI 或 I/O 一起使用提供了可接受的性能。

于 2010-07-15T15:08:36.457 回答