• Advertisement


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

Releasing D3D with dual monitors

This topic is 6042 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

Hello, I''m pretty new to Direct3D so the solution is pretty simple but if anyone could shed some light on this, that would be great. I''m using D3D8 in fullscreen mode on a second monitor and having the problem that when I release the d3d device, I believe that it is releasing the display, but my windows desktop is not refreshed. Instead, either the scene I was presenting is left on-screen, or my screen turns bright pink or bright green which is the default garbage the back buffer is set to since I''m using swap effect discard. If I use a different screen resolution/bit depth than the monitor''s current resolution/bit depth, then at the moment I release the d3d device, the screen resolution changes back to what it was before, and the previous windows desktop is restored (everything works fine). But if I use the same screen resolution for my 3D scene as the monitor was in before, the windows desktop is not restored and I get the problem I mentioned above. If, however, I then hit windows-D (show desktop), I do get my desktop back. Perhaps I''m not releasing in the correct order. I''m releasing in the order: textures, back_buffer (I''m using 2D and 3D graphics so I have a backbuffer COM pointer), d3d_device, d3d object. Is there a way to tell windows to redraw the screen? Has anyone else run into this issue? I''m very grateful for any help.

Share this post

Link to post
Share on other sites

  • Advertisement