Problem
I am trying to draw Direct2D content to a DirectDraw surface (backbuffer), this part is fine. The problem is the cost of using GetDC() on the DirectDraw surface (on a modern pc), which locks and gets the device context which is then used to BindDC() with Direct2D before the Direct2D drawing occurs. GetDC & ReleaseDC comes at such a substantial cost, that if done once per frame I am getting what feels like 15FPS.
Is there a faster or alternative way to Get/ReleaseDC() on a DirectDraw surface or somehow cache it so as to not have unbearable performance ?
Backstory I have on old game built on the old DirectDraw, the source is lost and I'm trying to use hooks to upgrade the graphics API. I'd eventually like to move all directdraw API calls to direct2d.