Suggestion: When B3D app is full screen and loses focus (alt-tab, window-key, ctrl-alt-del, alt-enter, etc.) or is windowed and display is changed, unload all graphics, close down graphics mode (i.e. EndGraphics), then re-open graphics mode, and reload graphics. This has solved all graphics corruption/ MAV I experienced with B3D.
Granted, this requires use of an external DLL that hooks the B3D WndProc callback and checks for certain messages, and also requires keeping track of which resources are is use at any particular time so they can be re-loaded, but as I said above it seems the most sure fire way to avoid problems.
I figure, this re-setting will happen rarely and coupled with not having megs & megs of graphics to reload, should make the delay involved bearable.
Also, I put a short delay (1-2 seconds) after setting the graphics mode as I found this prevented graphic corruption on faster machines.
HTH
Granted, this requires use of an external DLL that hooks the B3D WndProc callback and checks for certain messages, and also requires keeping track of which resources are is use at any particular time so they can be re-loaded, but as I said above it seems the most sure fire way to avoid problems.
I figure, this re-setting will happen rarely and coupled with not having megs & megs of graphics to reload, should make the delay involved bearable.
Also, I put a short delay (1-2 seconds) after setting the graphics mode as I found this prevented graphic corruption on faster machines.
HTH