如何提高从D3D表面到系统内存的复制速度

时间:2010-07-15 13:47:04

标签: performance surface direct3d

我正在使用以下代码将D3D表面复制回系统内存,但是当调用LockRect操作时性能不好,它花费了很多时间来完成这个功能。有没有办法改善它?提前谢谢。

以下是示例代码。

D3DDev-> GetRenderTargetData(renderTarget,offscreenSurface);

//锁定曲面以读取像素

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

1 个答案:

答案 0 :(得分:0)

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