• Advertisement

Archived

This topic is now archived and is closed to further replies.

Present()

This topic is 5215 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

Does anyone know the mechanics behind the IDirect3DDevice:resent() method? I''ve heard that it may not force the back buffer to appear on the screen immediately. Some have offered that it may buffer up to three frames before actually presenting to the screen. If this is the case, how do I get an immediate presentation? Also, is there any way to write directly to the primary surface using DirectX? Must I use GDI? Gort...Klaatu, Barada Nikto!

Share this post


Link to post
Share on other sites
Advertisement
You can''t force a present, as the graphics aren''t necessarily drawn yet. You can force yourself to wait until the present occurs though. Just do Present(), then pBackBuffer->Lock(). You''ll wish you didn''t, but that''s how it''s done.

Share this post


Link to post
Share on other sites
Regarding the 3 frames thing: WHQL certified drivers can buffer up to 3 frames, but they don''t have to.

Regarding how to wait until a Present''s done: You can also do it using d3d9 queries, but that only works with DDI9 drivers, as far as I know.

Muhammad Haggag

Share this post


Link to post
Share on other sites

  • Advertisement