Bug: D3D not recognizing desktop size, stuck in taskbar
by Kalle Wik · in Torque Game Builder · 04/06/2007 (7:41 pm) · 1 replies
Encountered an odd bug today in some compatibility testing: switching from Fullscreen to in-a-window with the D3D renderer seemed to think the original desktop resolution was 720x576x16 and the application wound up stuck in the taskbar. Couldn't be activated (window wouldn't open again), it stays locked in the taskbar.
First tried the game we have in dev, then moved to what I call "Barren App" testing, eg. a stock build from TGB with nothing but a main menu graphic. Tried 2 Barren Apps, the first with TGB 1.1.3 stock, the 2nd with TGB 1.5b2. Both had the same result.
Steps to repro:
* Desktop resolution was 1280x960 to begin
* Launch Barren App in Fullscreen mode, using D3D renderer
* Take game out of fullscreen using Canvas.pushDialog(OptionsDlg) options menu
Results:
* Game stuck in the taskbar, and could not be opened - wouldn't open and had to right-click to close app
Other Information:
* Testing Puzzle Poker, and a Large Animal game - those worked okay and didn't demonstrate the issue. I know those are custom-versions of TGB
* Had to upgrade drivers to enable OpenGL renderer. OpenGL worked fine with same steps. But the D3D bug still occurred the same way after the driver upgrade
* At one point, I saw the Options pulldown list was missing all higher resolution monitor options - topping out at 720x576 (smaller than the 800x600 window res)
More Details:
* NVidia card, pretty high end (can provide DxDiag as needed)
Here's a clip from the console log...
D3DDevice::setScreenMode -- can't switch to resolution larger than desktop in windowed mode!
Setting screen mode to 720x576x16 (w)...
Killing the texture manager...
Making the rendering context not current...
Deleting the rendering context...
Releasing the device context...
Destroying the window...
Changing to the desktop display settings (800x600x16)...
Creating a new window...
Acquiring a new device context...
Pixel format set:
32 color bits, 32 depth bits, 0 stencil bits
Creating a new rendering context...
Making the new rendering context current...
Resurrecting the texture manager...
keyboard0 input device created.
mouse0 input device created.
keyboard0 input device created.
mouse0 input device created.
Exporting TGB preferences.
First tried the game we have in dev, then moved to what I call "Barren App" testing, eg. a stock build from TGB with nothing but a main menu graphic. Tried 2 Barren Apps, the first with TGB 1.1.3 stock, the 2nd with TGB 1.5b2. Both had the same result.
Steps to repro:
* Desktop resolution was 1280x960 to begin
* Launch Barren App in Fullscreen mode, using D3D renderer
* Take game out of fullscreen using Canvas.pushDialog(OptionsDlg) options menu
Results:
* Game stuck in the taskbar, and could not be opened - wouldn't open and had to right-click to close app
Other Information:
* Testing Puzzle Poker, and a Large Animal game - those worked okay and didn't demonstrate the issue. I know those are custom-versions of TGB
* Had to upgrade drivers to enable OpenGL renderer. OpenGL worked fine with same steps. But the D3D bug still occurred the same way after the driver upgrade
* At one point, I saw the Options pulldown list was missing all higher resolution monitor options - topping out at 720x576 (smaller than the 800x600 window res)
More Details:
* NVidia card, pretty high end (can provide DxDiag as needed)
Here's a clip from the console log...
D3DDevice::setScreenMode -- can't switch to resolution larger than desktop in windowed mode!
Setting screen mode to 720x576x16 (w)...
Killing the texture manager...
Making the rendering context not current...
Deleting the rendering context...
Releasing the device context...
Destroying the window...
Changing to the desktop display settings (800x600x16)...
Creating a new window...
Acquiring a new device context...
Pixel format set:
32 color bits, 32 depth bits, 0 stencil bits
Creating a new rendering context...
Making the new rendering context current...
Resurrecting the texture manager...
keyboard0 input device created.
mouse0 input device created.
keyboard0 input device created.
mouse0 input device created.
Exporting TGB preferences.
Torque 3D Owner Kalle Wik
Default Studio Name
On this PC, a few things different:
1. Screen resolution was 1152x864 to begin
2. Instead of minimizing to taskbar, dropped window size to 640x480 (standard is 800x600 and this is enforced physically in script)
Dumping $Video::WindowedDesktopRes yields the proper info:
Desktop Resolution: 1152 864 32
This is the line I keep seeing in the console:
D3DDevice::setScreenMode -- can't switch to resolution larger than desktop
Other notes:
* Only occurs going from FS to windowed. Once it's in a window can increase to 800x600 successfully.