Fullscreen issue
by Chris Cain · in Torque Game Engine Advanced · 12/29/2008 (5:52 pm) · 22 replies
Hey guys.
I've been trying out the new TGEA 1.8 release and it has an interesting issue. The times that the game goes full-screen from windowed mode, there is a pink border on the right and bottom sides of the screen.
A video to illustrate:
Also, something you can't see from this video: When this is actually happening on the screen, the mouse appears to be BELOW where you click. So, in the video, where my mouse was hovering over the cancel button, my actual mouse (where I see it) is actually below the cancel button.
Now a couple of things to help diagnose and fix the issue: Like I said, the times the game goes full-screen is when this happens. E.g. If the game is windowed, and I tell it to go full-screen, the issue happens. If I change the resolution in order for it to redo the screen, then the issue resolves itself. Also, subsequent full-screen resizings do not cause this effect.
Also, if I begin the game in full-screen mode, the issue still occurs. Again, resizing the screen in the options to make it recreate the full-screen will fix the issue.
As a clarification, if I start the game in full-screen (the issue exists), then go to window mode, then go back to full-screen, the issue exists again. It happens every time the game goes from window mode to full-screen (as well as beginning in full-screen mode)
System stats (dxdiag):
------------------
System Information
------------------
Time of this report: 12/29/2008, 20:34:57
Machine name: ******-VISTAX64
Operating System: Windows Vista Ultimate (6.0, Build 6001) Service Pack 1 (6001.vistasp1_gdr.080917-1612)
Language: English (Regional Setting: English)
System Manufacturer: System manufacturer
System Model: System Product Name
BIOS: Phoenix - AwardBIOS v6.00PG
Processor: Dual Core AMD Opteron(tm) Processor 165 (2 CPUs), ~1.8GHz
Memory: 2046MB RAM
Page File: 1393MB used, 2645MB available
Windows Dir: C:\Windows
DirectX Version: DirectX 10
DX Setup Parameters: Not found
DxDiag Version: 6.00.6001.18000 32bit Unicode
------------
DxDiag Notes
------------
Display Tab 1: No problems found.
Sound Tab 1: No problems found.
Sound Tab 2: No problems found.
Input Tab: No problems found.
--------------------
DirectX Debug Levels
--------------------
Direct3D: 0/4 (retail)
DirectDraw: 0/4 (retail)
DirectInput: 0/5 (retail)
DirectMusic: 0/5 (retail)
DirectPlay: 0/9 (retail)
DirectSound: 0/5 (retail)
DirectShow: 0/6 (retail)
---------------
Display Devices
---------------
Card name: NVIDIA GeForce 8800 GTX
Manufacturer: NVIDIA
Chip type: GeForce 8800 GTX
DAC type: Integrated RAMDAC
Device Key: Enum\PCI\VEN_10DE&DEV_0191&SUBSYS_039C10DE&REV_A2
Display Memory: 1512 MB
Dedicated Memory: 745 MB
Shared Memory: 767 MB
Current Mode: 1920 x 1200 (32 bit) (59Hz)
Monitor: Dell 2407WFP (Digital)
Driver Name: nvd3dumx.dll,nvd3dum,nvwgf2umx.dll,nvwgf2um
Driver Version: 7.15.0011.8048 (English)
DDI Version: 10
Driver Attributes: Final Retail
Driver Date/Size: 11/12/2008 14:54:00, 8540672 byte
********************CHOP*****************************
If you need another part of my dxdiag output file, just ask and I'll give it to you.
OS: Windows Vista Ultimate 64-bit
I've been trying out the new TGEA 1.8 release and it has an interesting issue. The times that the game goes full-screen from windowed mode, there is a pink border on the right and bottom sides of the screen.
A video to illustrate:
Also, something you can't see from this video: When this is actually happening on the screen, the mouse appears to be BELOW where you click. So, in the video, where my mouse was hovering over the cancel button, my actual mouse (where I see it) is actually below the cancel button.
Now a couple of things to help diagnose and fix the issue: Like I said, the times the game goes full-screen is when this happens. E.g. If the game is windowed, and I tell it to go full-screen, the issue happens. If I change the resolution in order for it to redo the screen, then the issue resolves itself. Also, subsequent full-screen resizings do not cause this effect.
Also, if I begin the game in full-screen mode, the issue still occurs. Again, resizing the screen in the options to make it recreate the full-screen will fix the issue.
As a clarification, if I start the game in full-screen (the issue exists), then go to window mode, then go back to full-screen, the issue exists again. It happens every time the game goes from window mode to full-screen (as well as beginning in full-screen mode)
System stats (dxdiag):
------------------
System Information
------------------
Time of this report: 12/29/2008, 20:34:57
Machine name: ******-VISTAX64
Operating System: Windows Vista Ultimate (6.0, Build 6001) Service Pack 1 (6001.vistasp1_gdr.080917-1612)
Language: English (Regional Setting: English)
System Manufacturer: System manufacturer
System Model: System Product Name
BIOS: Phoenix - AwardBIOS v6.00PG
Processor: Dual Core AMD Opteron(tm) Processor 165 (2 CPUs), ~1.8GHz
Memory: 2046MB RAM
Page File: 1393MB used, 2645MB available
Windows Dir: C:\Windows
DirectX Version: DirectX 10
DX Setup Parameters: Not found
DxDiag Version: 6.00.6001.18000 32bit Unicode
------------
DxDiag Notes
------------
Display Tab 1: No problems found.
Sound Tab 1: No problems found.
Sound Tab 2: No problems found.
Input Tab: No problems found.
--------------------
DirectX Debug Levels
--------------------
Direct3D: 0/4 (retail)
DirectDraw: 0/4 (retail)
DirectInput: 0/5 (retail)
DirectMusic: 0/5 (retail)
DirectPlay: 0/9 (retail)
DirectSound: 0/5 (retail)
DirectShow: 0/6 (retail)
---------------
Display Devices
---------------
Card name: NVIDIA GeForce 8800 GTX
Manufacturer: NVIDIA
Chip type: GeForce 8800 GTX
DAC type: Integrated RAMDAC
Device Key: Enum\PCI\VEN_10DE&DEV_0191&SUBSYS_039C10DE&REV_A2
Display Memory: 1512 MB
Dedicated Memory: 745 MB
Shared Memory: 767 MB
Current Mode: 1920 x 1200 (32 bit) (59Hz)
Monitor: Dell 2407WFP (Digital)
Driver Name: nvd3dumx.dll,nvd3dum,nvwgf2umx.dll,nvwgf2um
Driver Version: 7.15.0011.8048 (English)
DDI Version: 10
Driver Attributes: Final Retail
Driver Date/Size: 11/12/2008 14:54:00, 8540672 byte
********************CHOP*****************************
If you need another part of my dxdiag output file, just ask and I'll give it to you.
OS: Windows Vista Ultimate 64-bit
#2
12/30/2008 (12:51 pm)
Disable Aero.
#3
Still, I think that helps explain what might be going on. I guess torque isn't properly dealing with Aero when going full-screen.
12/30/2008 (3:49 pm)
Well, that does work as a temporary fix, but I don't think that'll quite fly with the users ;)Still, I think that helps explain what might be going on. I guess torque isn't properly dealing with Aero when going full-screen.
#4
12/30/2008 (4:43 pm)
Aero is always on on my Vista machine, disabling it tends to make Windows act worse for me. I constantly see these posts and it makes me think there is something fundamentally flawed within Torque to keep seeing this inconsistent behavior. I have great results using Vista+Aero with TGE, TGEa, Constructor, and any Torque based game that I've tried -- yet other people don't...definitely something screwy in Torque-land.
#5
12/30/2008 (5:11 pm)
Running Vista Ultimate 64 as well with Aero and also refuse to turn it off, causes me more grief than with it on. I have also been fighting this screen issue all day. Not only does it go pink, the mouse clicks are not right and you can't edit a GUI. This should definitely be turned into a BUG.
#6
I can work like this until they fix this, but it's definitely a bug in Torque that will need to be addressed. Interestingly enough, I have no issues with, say, Legions. So, I don't know if they fixed the problem or if I'm misunderstanding the scope of the issue.
12/30/2008 (5:16 pm)
Yeah, I'm having difficulty with mouse clicks as well. It seems like the mouse is offset by the approximate amount that the pink is on the bottom.I can work like this until they fix this, but it's definitely a bug in Torque that will need to be addressed. Interestingly enough, I have no issues with, say, Legions. So, I don't know if they fixed the problem or if I'm misunderstanding the scope of the issue.
#8
Plus, like I said, the users of your game won't be happy with that answer either.
12/30/2008 (7:41 pm)
I'm pretty sure that since it doesn't happen in any other game other than Torque, it's a bug with Torque, not Vista ;)Plus, like I said, the users of your game won't be happy with that answer either.
#9
I've noticed that "turn Aero off" seems to be a standard response here at GG and yet doing so (for me and some others) makes the OS even more unstable. Considering that more than one person has stated that they're having this problem only within Torque then it's not a Winblows problem but something wrong within Torque.
The end user should never have to make changes to their OS or desktop environment just to play our games.
12/30/2008 (9:58 pm)
It's most probably a bug with Torque since I don't experience any of these issues and I always have Aero enabled. This problem doesn't occur for me thus it's another inconsistency with Torque and it's user base. I've noticed that "turn Aero off" seems to be a standard response here at GG and yet doing so (for me and some others) makes the OS even more unstable. Considering that more than one person has stated that they're having this problem only within Torque then it's not a Winblows problem but something wrong within Torque.
The end user should never have to make changes to their OS or desktop environment just to play our games.
#10
Its ridiculous to need to turn off Aero... and i've not seen any GG employee suggesting otherwise.
So now that we have those issues settled... lets talk about fixing it.
First can someone get it to consistently happen via reproducible steps? If i can get some steps then i'll take a crack at fixing it.
12/30/2008 (10:10 pm)
Lets get this clear... this is a bug Torque. I suppose it came thru as part of a refactor of the platform code during merging of TGE/TGEA/TGB in Juggernaut.Its ridiculous to need to turn off Aero... and i've not seen any GG employee suggesting otherwise.
So now that we have those issues settled... lets talk about fixing it.
First can someone get it to consistently happen via reproducible steps? If i can get some steps then i'll take a crack at fixing it.
#11
With Aero Enabled:
Starting game in fullscreen -> Bug
Going from windowed mode to fullscreen -> Bug
Changing from one fullscreen mode to another -> Bug Fixed (doesn't matter what mode, all of them work)
quick edit: Oh, and thank you very much for taking a look at this for us Tom. If you need any help, I've got this topic checked to email me, and I have gmail notifier running. If I'm at my computer, I'll respond within minutes.
12/30/2008 (10:15 pm)
Well, I can reproduce it 100% of the time using the steps above.With Aero Enabled:
Starting game in fullscreen -> Bug
Going from windowed mode to fullscreen -> Bug
Changing from one fullscreen mode to another -> Bug Fixed (doesn't matter what mode, all of them work)
quick edit: Oh, and thank you very much for taking a look at this for us Tom. If you need any help, I've got this topic checked to email me, and I have gmail notifier running. If I'm at my computer, I'll respond within minutes.
#12
Not sure if it helps but I cannot reproduce the bug at all on two different computers (XP - Vista). Could it be another DirectX SDK issue? I'm using March 08 and Aug 08, found that Nov 08 was bad.
12/30/2008 (10:38 pm)
Tom was right, no employee has directly suggested disabling Aero (that I can recall), but it is a frequent suggestion from the community.Not sure if it helps but I cannot reproduce the bug at all on two different computers (XP - Vista). Could it be another DirectX SDK issue? I'm using March 08 and Aug 08, found that Nov 08 was bad.
#13
It could be something to do with just Vista x64 (seeing as another person here commented on having the issue and he's also running Ultimate x64), or possibly that nVidia driver in combination with x64. *shrug*
Also, just to be clear, these are standard out-of-the-box 32-bit compiled TGEAs I'm working with. (also does it on the demo apps, as illustrated by the video)
12/30/2008 (10:45 pm)
I'm using August 2008 on Windows Vista Ultimate x64 using an nVidia Geforce 8800GTX running nVidia 180.48 WHQL drivers.It could be something to do with just Vista x64 (seeing as another person here commented on having the issue and he's also running Ultimate x64), or possibly that nVidia driver in combination with x64. *shrug*
Also, just to be clear, these are standard out-of-the-box 32-bit compiled TGEAs I'm working with. (also does it on the demo apps, as illustrated by the video)
#14
If I can get my laptop to run 1.8 will post back on results. But hopefully this will help Tom some. I do have June 2008 running on the laptop but not on the desktop.
I tested dual monitor, single monitor, SLI, non-SLI. High resolution, low resolution. It was consistent.
EDIT: Loaded the DirectX August 2008 runtime on my laptop and the 1.8 displayed same results.
______________
Desktop:
Intel Q9550
Vista Ultimate X64 6.0, build 6001
Nvidia Gforce-GTX280 1GB (2-SLImode)
November 2008 SDK (hmmm... but needed for other apps)
Laptop:
Intel Q9550
Vista Ultimate X64
Nvidia Gforce 9800M-GTX 1GB
August 2008 DirectX Runtime
12/31/2008 (6:03 am)
Interesting part is I do not have the problem with BETA 1.8 on either machine I have tested with. However, 1.8 gives me errors on my desktop and I can not get it to run at all on my laptop. Both desktop and laptop have Vista Ultimate X64 and identical processors. Only difference is the video cards.If I can get my laptop to run 1.8 will post back on results. But hopefully this will help Tom some. I do have June 2008 running on the laptop but not on the desktop.
I tested dual monitor, single monitor, SLI, non-SLI. High resolution, low resolution. It was consistent.
EDIT: Loaded the DirectX August 2008 runtime on my laptop and the 1.8 displayed same results.
______________
Desktop:
Intel Q9550
Vista Ultimate X64 6.0, build 6001
Nvidia Gforce-GTX280 1GB (2-SLImode)
November 2008 SDK (hmmm... but needed for other apps)
Laptop:
Intel Q9550
Vista Ultimate X64
Nvidia Gforce 9800M-GTX 1GB
August 2008 DirectX Runtime
#15
12/31/2008 (12:19 pm)
I recommend it as a workaround for products that are not receiving a new build soon (or have indeterminate build schedules) and are exhibiting similar bugs that disabling Aero fixes. I do not, however, advocate not fixing the bug or having it rolled into our new codebases without a fix. If it is already built-in, there is not a lot to do other than suggest a workaround until the problem is solved. And I'm glad that it is being solved! It makes my life a lot easier.
#16
Here is some info that might help. Forgot the all important information... The console report.
Doesn't look too helpful unless the 2 ref's are an issue, but no errors.
12/31/2008 (2:22 pm)
I very seldom go into full screen anyway, so not a real issue for me and we will probably be on Torque 4D before I finally release anything:)Here is some info that might help. Forgot the all important information... The console report.
Engine initialized... Window focus status changed: focus: 1 -------------- Attempting to set resolution to "1024 768 1 32 60 0" Accepted Mode: --Resolution : 1024 768 --Full Screen : Yes --Bits Per Pixel : 32 --Refresh Rate : 60 --FSAA Level 0 -------------- Win32Window::setVideoMode - invoking curtain GFXPCD3D9Device::reset - depthstencil 6148c60 has 2 ref's --- Resetting D3D Device --- -------------- Attempting to set resolution to "1024 768 0 32 60 0" Accepted Mode: --Resolution : 1024 768 --Full Screen : No --Bits Per Pixel : 32 --Refresh Rate : 60 --FSAA Level 0 -------------- Win32Window::setVideoMode - invoking curtain GFXPCD3D9Device::reset - depthstencil 61cf620 has 2 ref's --- Resetting D3D Device ---
Doesn't look too helpful unless the 2 ref's are an issue, but no errors.
#17
If you right click on either the exe or shortcut and go to the compatibility tab... selecting "disable desktop composition" will cause it to automatically disable Aero when it runs, and then return to normal once it's closed.
Edit:
Upon further testing, I noticed that running with "disable visual themes" also fixed my problems, but this does not turn off Aero. Interesting....
12/31/2008 (3:23 pm)
I just thought of a quick-fix for those who need it immediately for their development.If you right click on either the exe or shortcut and go to the compatibility tab... selecting "disable desktop composition" will cause it to automatically disable Aero when it runs, and then return to normal once it's closed.
Edit:
Upon further testing, I noticed that running with "disable visual themes" also fixed my problems, but this does not turn off Aero. Interesting....
#18
In win32Window.cpp, in the setVideoMode function:
Why are those two lines commented out?
Anyway, the fix is to change that piece of code to this:
I removed the comments and then added the ShowWindow (ripped from the code just below it) to make it focus on the newly full-screened window.
This fixes the issue on both my desktop (mentioned above) and my laptop (Lenovo T400 w/ switchable graphics... issue appears on both Intel Graphics and ATI Graphics ... and OS is, yet again, Vista Ultimate x64).
So, unless someone says that I did something horribly wrong (and please do chime in if you think there's an issue... for XP, for instance... I don't have it installed to test!) then I believe this is the proper fix for the issue.
Also: GG, you're 100% allowed to include this suggested fix into Torque 3D, as long as it seems to work alright everywhere. It's just a simple fix, and, heck, I didn't even code anything other than to test various things out.
01/22/2009 (11:26 am)
Eh, well, I think I fixed it after messing around with it some.In win32Window.cpp, in the setVideoMode function:
...
// Set our window to have the right style based on the mode
if(mode.fullScreen)
{
if(needCurtain)
mOwningManager->lowerCurtain();
//SetWindowLong( getHWND(), GWL_STYLE, WS_POPUP|WS_SYSMENU );
//SetWindowPos( getHWND(), HWND_NOTOPMOST, 0, 0, 0, 0, SWP_NOMOVE | SWP_NOSIZE | SWP_FRAMECHANGED);
}
else
...Why are those two lines commented out?
Anyway, the fix is to change that piece of code to this:
...
// Set our window to have the right style based on the mode
if(mode.fullScreen)
{
if(needCurtain)
mOwningManager->lowerCurtain();
SetWindowLong( getHWND(), GWL_STYLE, WS_POPUP|WS_SYSMENU );
SetWindowPos( getHWND(), HWND_NOTOPMOST, 0, 0, 0, 0, SWP_NOMOVE | SWP_NOSIZE | SWP_FRAMECHANGED);
ShowWindow( getHWND(), SW_SHOWNORMAL);
}
else
...I removed the comments and then added the ShowWindow (ripped from the code just below it) to make it focus on the newly full-screened window.
This fixes the issue on both my desktop (mentioned above) and my laptop (Lenovo T400 w/ switchable graphics... issue appears on both Intel Graphics and ATI Graphics ... and OS is, yet again, Vista Ultimate x64).
So, unless someone says that I did something horribly wrong (and please do chime in if you think there's an issue... for XP, for instance... I don't have it installed to test!) then I believe this is the proper fix for the issue.
Also: GG, you're 100% allowed to include this suggested fix into Torque 3D, as long as it seems to work alright everywhere. It's just a simple fix, and, heck, I didn't even code anything other than to test various things out.
#19
Will try your fix in a moment, thanks alot!
01/22/2009 (11:41 am)
I got the mouse issue with 1.8 on XP, as I said before, and Aero doesn't exactly exist in XP so it can't be that. I've also seen it in windowed mode.Will try your fix in a moment, thanks alot!
#20
01/22/2009 (12:12 pm)
Absolutely. Please post back with results :)
Torque Owner Stefan Lundmark