Recommended Posts

Hi all,
I want to present images (surfaces) on the screen but in a synchronous mode :
I have a LPDIRECT3DSURFACE9 created in video memory with D3DPOOL_DEFAULT
I want to copy that LPDIRECT3DSURFACE9 in the BackBuffer :
I use StretchRect but it's asynchronous : I want to wait for the end of that operation before continue.
(LPDIRECT3DDEVICE9)...->Present( NULL, NULL, NULL, NULL )
write data on the parallel port (I know)
What is the faster method to present images? Must I use DirectDraw?
[Edited by - tq9799 on September 14, 2005 12:19:03 PM]

Share this post

Link to post

Share on other sites

If that doesn't work, something else is going wrong (or at least, does not work the way you suspect it should work). Perhaps you've disabled VSync in your driver settings. StretchRect must finish before a Present can be done. Present always ensures that all prior operations have completed, because otherwise there would be artifacts. Tearing may occur if VSync is disabled (either by your program or by a setting in the driver), but not because of operations not being completed. If that happens (and I very much doubt it), you've discovered a serious bug.

BTW, what's the deal with the parallel port? I don't even have one anymore.