For application specific reasons I must render to a texture and then retrieve that texture back into system memory. This is currently painfully slow (~10 fps) and results in CPU and GPU idle bubbles. It would help if I could either use the GPU to handle the blitting or overlap the GetData with the beginning of the next frame. Are either of these options viable in Urho3D D3D9 / D3D11 or OpenGL?
I noticed there is a project to implement this functionality as a plugin for Unity:
https://github.com/SlightlyMad/AsyncTextureReader
Not sure how well it works, but I was looking through the code to see if I could staple this into what I have in Urho3D as a starting point.