GetFrontBufferData到视频内存而不是系统内存

时间:2011-04-04 20:03:26

标签: graphics directx directx-9

使用DirectX 9我想捕捉屏幕上的内容,并在我的程序中显示它的较小版本。

要捕获它,我发现并使用GetFrontBufferData。然而,它的工作方式是写入系统存储器中定义的表面(D3DPOOL_SYSTEMMEM)。这导致我不得不将屏幕截图转移回视频内存,以便我可以绘制它。

你可以想象这种不必要的转移(视频内存 - >系统内存 - >视频内存)会导致我的程序中出现相当多的快门。

有没有办法让图像存储在前置缓冲区并将其放在视频内存的表面上?

这个问题脱离了我最近提出的问题:Capture and Draw a ScreenShot using DirectX

0 个答案:

没有答案