OpenGL Offscreen rendering using Windows Bitmap

I need OpenGL Offscreen rendering on Windows platform.
There are two ways to do this: either PBuffer or Windows Bitmap.

However, I need to combine the OpenGL rendering result with some
software-based rendering. If I use PBuffer, I have to use glReadPixels to read back the bitmap and continue to do the software rendering on this bitmap.

Therefore I want to try to create a OpenGL context directly from
a Windows Bitmap( as the following link describes: http://msdn.microsoft.com/en-us/library/ms970768.aspx ) so that I can continue to do my software rendering on the same bitmap. This way I avoid the slow glReadPixels.

Now my question is if rendering on Bitmap also benefits from graphics hardware. Or is it a bit slow than PBuffer? My guess is it could be slower because the windows Bitmap is in the system RAM, while the PBuffer should be in Graphics memory.

Can someone shed some light on this?

Thanks,
Ming.

Yes, you will also avoid completely the hardware acceleration …

Try FBO instead.
You can also use PBO to have async read/write to pixel buffers, so your sofware rendering on top of frame 1 can happen in parallel of retrieval of frame 2.