Not logged in, Join Here! or Log In Below:  
News Articles Search    

 Home / 3D Theory & Graphics / D3D alt-tab when in fullscreen-mode Account Manager
Archive Notice: This thread is old and no longer active. It is here for reference purposes. This thread was created on an older version of the flipcode forums, before the site closed in 2005. Please keep that in mind as you view this thread, as many of the topics and opinions may be outdated.

March 19, 2005, 10:12 AM

When my d3d-app runs in fullscreen and I alt-tab to the desktop the app will be waiting for WM_AVTIVATE message and the use IDirect3DDevice9::Reset(). So far everything is great.

The problem is, that when I switch between different programms after having alt-tabbed away from the d3d-app it *sometimes* gives me a WM_ACTIVATE message although I did not switch back to it. This is bad. Does anybody have an idea what the reason for this behavior could be? Thanks.

By the way, I read that IDirect3DDevice9::Reset() is not enough for windowed/fullscreen toggles and that you have to destroy and recreate the device in such cases. But I don't need to do this, did I missunderstand something?


March 19, 2005, 06:38 PM

There are a few different parameters to the WM_ACTIVATE message (see MSDN)... Perhaps you're getting an alternative activation message?

As for toggling windowed/fullscreen...
As far as I know, for single screens, you never need to destroy and recreate the device itself. I've never done this anyway, and I've not found anything in the docs saying that I should.
The only thing you need to destroy and recreate are all unmanaged resources (dynamic textures, vertex/indexbuffers, rendertargets etc), but you need to do that on any reset anyway.

For multihead you need to recreate the device when switching to windowed mode (windowed mode is non-multihead ofcourse). The docs mention that.


March 20, 2005, 05:27 AM

I believe I handle the different WM_ACTIVATE parameters correctly, something else is/was wrong.
The last few times I tried, I could not reproduce the error. I am now minimizing
the window manully, which seems to help. (Although I tried that before without success) Well, I propably got a bit confused somewhere. Anyway, thanks for the help.

Its goog to hear that you don't need to destroy the device normally.
What is a multihead though?



March 20, 2005, 05:45 AM

Multihead is multiple monitors on a single system.

Sebastian Tusk

March 20, 2005, 08:54 AM

-> IDirect3DDevice9::TestCooperativeLevel

This thread contains 5 messages.
Hosting by Solid Eight Studios, maker of PhotoTangler Collage Maker.