Jump to content
  • Advertisement
Sign in to follow this  

Performance: Readback of back buffer via shared resources

This topic is 2917 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

I need to copy the back buffer of a game to a system memory surface. As we all know, that's a horribly bad situation for performance since it requires syncing the CPU and GPU. Due to certain restrictions, however, I cannot use GetRenderTarget() in the application itself to read the back buffer. Instead, I do the following:

* Create a shared render target surface (DirectX9Ex) in video memory in a different application.
* In the context of the game, blt the contents of the back buffer into the shared resource.
* Call GetRenderTarget() data on the shared surface in the other application to read the contents into system memory.

This works fine, but it made me curious about the performance of the readback operation in general. Since the actual readback happens on a different surface than the game's back buffer, does this mean the game will be able to continue rendering while I'm reading back from the shared surface or will the CPU<->GPU sync affect everything?

Share this post

Link to post
Share on other sites
Sign in to follow this  

  • Advertisement

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

GameDev.net is your game development community. Create an account for your GameDev Portfolio and participate in the largest developer community in the games industry.

Sign me up!