Re: GetRenderTargetData() issues



From everything I have read, before GetRenderTargetData() can actually
do the copy, all pending operations on the device *must* be completed
before hand. Thus you are going to introduce this huge wait while
everything finishes before it will copy the data for you.

The call to GRTD(), in my case, takes a lot longer than the call to
lock the resultant texture. I don't see how the lock could possibly
take longer, as you are locking a *system memory* surface, which is
generally pretty fast.

Stephan Schaem wrote:
It should not stall.
What should stall is the lock of the system surface to access the result of GetRTData()

Stephan

"Murrgon" <murrgon@xxxxxxxxxxx> wrote in message news:eirHFREdGHA.1276@xxxxxxxxxxxxxxxxxxxxxxx
Are there any rules or tips about using GetRenderTargetData()
in the most optimal way? I realize it stalls the pipeline,
but I'm wondering if there are better times to call it than
others. I have seen some code on the net that uses an
IDirect3DQuery9 to force a flush before calling
GetRenderTargetData(). If GRTD is going to do a flush anyway,
is this really going to improve anything?

Thank you


.



Relevant Pages

  • Re: GetRenderTargetData() issues
    ... There is no reason for GetRenderTargetData() no to be put in the queue. ... Exactly for the same reason that Presentdoesn't wait for anything, its just placed in the queue. ... I don't see how the lock could possibly ... I'm not saying the driver you are benchmarking does this, ...
    (microsoft.public.win32.programmer.directx.graphics)
  • Re: GetRenderTargetData() issues
    ... getrendertargetdata, and continue rendering. ... Only the lock() call need to possibly do a CPU wait at the time of issue for the surface not to be 'busy' ... This only need to happen in the lock, getrendertargetdata doesn't need to wait for resource. ... The destination surface is made ready when the call is issued. ...
    (microsoft.public.win32.programmer.directx.graphics)
  • GetRenderTargetData() issues
    ... Are there any rules or tips about using GetRenderTargetData() ... I realize it stalls the pipeline, ... IDirect3DQuery9 to force a flush before calling ...
    (microsoft.public.win32.programmer.directx.graphics)