[Fix][B3.1] Long delay when changing from/to fullscreen mode

Moderator: NADEO

Locked
MixD
Posts: 14
Joined: 15 Jun 2010, 11:40
Contact:

[Fix][B3.1] Long delay when changing from/to fullscreen mode

Post by MixD »

I'm getting quite long delays when switching ManiaPlanet between fullscreen/windowed/minimised. For example, switching from fullscreen to windowed takes nearly a minute. Timings from when in MP's initial menu:

full screen -> minimised = 0s
minimised -> full screen = 25s

full screen -> windowed = 50s (25s before the display changes to windowed, then another 25s before MP becomes responsive again)
windowed -> full screen = 25s

windowed -> minimised = 0s
minimised -> windowed = 25s

If I remember correctly this was also a bit slow on MP 1.0, but only (guessing) 4s to 8s. For reference TMUF does these changes on the same system in negligible time.

For most of the time during the delay there is a lot of disk activity. I have MP installed on an SSD but game data and personal data are on HDD.

PC configuration:
CPU: Athlon X2 3800+
RAM: 3GB
OS: MS Windows XP SP3
Graphics cards: GeForce GTX 260, GeForce 7900 GTO
Graphics drivers: 307.74 (the latest ones to support the 7900)
Monitor resolutions: 1200x1600 (portrait), 2560x1600 (landscape), 1200x1600 (portrait)
ManiaPlanet resolutions: 2560x1600 (fullscreen), 1600x900 (windowed)

The GeForce 7900 GTO handles the 1200x1600 monitors. ManiaPlanet uses only the GeForce GTX 260 and the 2560x1600 monitor.

I can test some different game settings. Anyone know what's likely to have an effect? Based on the thread http://forum.maniaplanet.com/viewtopic.php?f=9&t=8876 I tried changing D3D9Ex but it made no difference. I also tried switching texture quality to Very Low.

Advanced settings -> Display
Advanced settings -> Display -> Compatibility
Advanced settings -> Game


Anyone else seeing this problem? Note it is *not* the same issue as reported at http://forum.maniaplanet.com/viewtopic.php?t=15253 or http://forum.maniaplanet.com/viewtopic.php?t=17137 . The desktop and other applications remain responsive.


Also a random moan: having the launcher windows "always on top" is very annoying. Please don't do that. :/
Last edited by MixD on 04 Mar 2013, 05:51, edited 1 time in total.
"A snappy saying is no substitute for thinking" - [CMC]Mix Image 2009
MixD
Posts: 14
Joined: 15 Jun 2010, 11:40
Contact:

Re: [B3.1] Long delay when changing from/to full-screen mode

Post by MixD »

I looked closer at all the disk activity during a minimised -> full screen transition using Sysinternals Process Monitor. There are frequent disk accesses throughout a period of about 24.5 seconds except for a 1 second gap starting about 3 seconds after the start. The files being accessed are mainly:

1. <game data>\PacksCache\*
2. <game data>\Cache\*
3. <personal data>\Skins\*
4. C:\Documents and Settings\<user>\Local Settings\Temp\d3dx*

The 3rd one is particularly odd. My avatar and two of the ArenaPlayer skins are accessed but nothing else in the folder is.

The 4th one is a mixture of reads and writes. Some of the writes are marked as "FAST IO DISALLOWED". The periods where these files are accessed amount to about 6 seconds.

Most of the accesses are for the PacksCache so I moved that to an SSD (and made a junction point linking to it). I also defragmented the HDD. This seems to have cut the delay when switching from full-screen to windowed down to 30 seconds. Other transitions are similarly shortened.

ManiaPlanet uses between 100% and 60% of a CPU core during the delay.
"A snappy saying is no substitute for thinking" - [CMC]Mix Image 2009
User avatar
undef.de
Posts: 2095
Joined: 06 Apr 2011, 21:57
Location: Germany, North Sea Coast
Contact:

Re: [B3.1] Long delay when changing from/to full-screen mode

Post by undef.de »

Sounds like as my already reported: http://forum.maniaplanet.com/viewtopic. ... 20#p139820
Developer of UASECO, a controller with support of the Modescript Gamemodes for TM².
Visit the official website for more: UASECO.org


Developer of various plugins for XAseco/XAseco2 and MPAseco, visit my lab: www.undef.name

You like what I do? Then award a ManiaStar.
MixD
Posts: 14
Joined: 15 Jun 2010, 11:40
Contact:

Re: [B3.1] Long delay when changing from/to full-screen mode

Post by MixD »

No, I explicitly mentioned that thread in the first post to point out it's not the same symptoms. My mouse, desktop, and other applications remain responsive. Even in the case of switching MP from full-screen to windowed, although MP still occupies its monitor for the first half of the delay, I can still use other applications on other monitors with no unusual symptoms.
"A snappy saying is no substitute for thinking" - [CMC]Mix Image 2009
MixD
Posts: 14
Joined: 15 Jun 2010, 11:40
Contact:

Re: [B3.1] Long delay when changing from/to full-screen mode

Post by MixD »

I wondered if my unusual monitor or gfx card setup was the cause. I changed to using one gfx card (GeForce 260), and one monitor (2560x1600). It made no difference.

I tried on a different PC (Win7, i7 4770, 8GB, GeForce 760, MP on HDD). The times fell from 50 and 25s to 6 and 3s. More powerful/expensive hardware helps, no surprise, and this is just about usable. Still embarassing compared to TMUF's performance on much older hardware, and considering how Nadeo trumpeted MP's performance on low-end systems.

On the new PC I tried ticking the configurable mentioned in the first post: ManiaPlanet Launcher -> Configure -> Advanced -> Display -> Compatibility -> Enable D3D9Ex. Now all changes are instant.

After further investigation, it turns out that you need to enable D3D9Ex and you need to be running an OS newer than WinXP. That's why changing that configurable made no difference to me before.

Next month MS drop support for WinXP so I guess this issue will go away for enough people that Nadeo won't care (like they cared much in the intervening year since this issue was posted...). Shame it was an obscure unexplained configurable buried six levels down, combined with an OS incompatibility. I note that the default for this configurable is enabled, but for me it was turned off (presumably after the previous testing on WinXP), and pressing the Reset to defaults buttons don't affect it. (To check what the default is, delete or rename Default.SystemConfig.Gbx. Make sure you have a backup.)

I also read that the D3D9Ex method can affect performance so I did some testing with vsync off and very high frame rate limit. I found no significant performance difference.
Last edited by MixD on 11 Mar 2014, 22:45, edited 3 times in total.
"A snappy saying is no substitute for thinking" - [CMC]Mix Image 2009
User avatar
undef.de
Posts: 2095
Joined: 06 Apr 2011, 21:57
Location: Germany, North Sea Coast
Contact:

Re: [B3.1] Long delay when changing from/to full-screen mode

Post by undef.de »

Strange... it works with "Enable D9D3Ex" for me... thanks dude! No more waiting... :thumbsup:

But i was thinking that i have tried this also... nevermind.

Btw: my current config without "Enable D9D3Ex": http://www.undef.name/Misc/Specs.php#ConfigManiaplanet
(i have now to update the one screenshot) ;)
Developer of UASECO, a controller with support of the Modescript Gamemodes for TM².
Visit the official website for more: UASECO.org


Developer of various plugins for XAseco/XAseco2 and MPAseco, visit my lab: www.undef.name

You like what I do? Then award a ManiaStar.
LuckyBoy
Nadeo
Nadeo
Posts: 550
Joined: 14 Jun 2010, 17:43

Re: [B3.1] Long delay when changing from/to full-screen mode

Post by LuckyBoy »

MixD wrote: After further investigation, it turns out that you need to enable D3D9Ex and you need to be running an OS newer than WinXP. That's why changing that configurable made no difference to me before.
Hello, you're right that's the expected behaviour of ManiaPlanet.

The game uses D3D9Ex when available (supported since Windows Vista, not XP), and when the user did not disabled the launcher compatibility setting "enable D3D9Ex" (which is enabled by default).

Without D3D9Ex the game can not keep CPU copies of GPU textures (due to 32bit address limit), then each resize/fullscreen/windowed requires all Textures to be re-uploaded from disc to GPU.

With D3D9Ex the OS can restore the GPU textures without the need for the game to provide CPU copies (that's why it's way faster).

Thanks
LuckyBoy
Locked

Return to “Maniaplanet Reports”

Who is online

Users browsing this forum: No registered users and 2 guests