Original Post
Hello, I've had a good look through the forums but can't seem to find the "good" way of reading the frame buffer to capture the screen. I don't want to save a bmp, I'm currently passing the pixel data to an avi saver, so I can capture .avis of the output of my d3d application. What I'm doing right now is creating the back buffer as lockable, then at each frame I lock it and simply pass the pixel values to the avi dumper. It's slow, around 6-9 fps, and rendering at 60 fps takes forever! Plus, having a lockable back buffer is undesirable because degrades performance when the program is running normally. As suggested in another thread, I've tried using StretchRect to copy the back buffer into a different texture, to avoid locking the back buffer. That's no good because for it to work you have to make your texture a render target, and you can't lock render target textures (at least on my system). So, what's the best way of accessing framebuffer data? I´m using dx9 and a radeon 9800xt. thanks for your time.