Tobold's Blog
Monday, March 09, 2009
WoW loading screens

One negative change of Wrath of the Lich King has been that loading screens in World of Warcraft have become slower, especially if you are loading Dalaran. So while I was staring at one of those slow loading screens again, I started to wonder: Why is it that once you are in the game, you can easily ALT-TAB out, for example to use your browser, but during the loading screen that function is blocked? If you press ALT-TAB or the Windows keys during the loading screen, nothing happens until the zone is fully loaded, and only then do you jump into the other application.

That is silly, because when you are in the game, you usually have something to do, unless you are using a long flight path or crafting a lot of items in series. But on the loading screen you are just waiting, and being able to switch to something to read would be welcome. Besides playing WoW in windowed mode, has anyone found a way to ALT-TAB out of the loading screen? When using the hearthstone I found one way, that is starting hearthing, and ALT-Tabbing before the loading screen even starts. Then WoW is perfectly able to load the zone in the background, while I am using some other application in the foreground. So why is WoW blocked at the loading screen once it starts?
I'm not exactly sure why, but I'm guessing it has something to do with locking the resources while loading.
Anyway, with WoW I always play with it windowed and maximized. That way it looks just like it would do fullscreen (no window to drag around) but you can easily alt-tab even while loading. Sure, you probably lose a few fps that way but if you are running WoW on a decent comp today you don't notice it that much.
I've found the majority of applications don't like it when you alt-tab while loading, even in windowed mode. I think it's just the way windows OS works...
Alt-Tab is not blocked. The computer is simply on full load while doing the loading, so it has no time to carry out your Alt-tab request. If you are in windowed mode, you can Alt-tab, but you get a hourglass on the other application. So it's not a WoW-thing.

Theoretically they could solve the problem by setting the process priority to low when the loading starts, therefore make it even slower, but allowing you to use the computer for other purposes.

Solution to the problem: buy faster computer (especially with faster HDD-s, or 2 HDD-s in raid-0 mode)
It's not a Windows problem as the Mac client has the exact same behaviour. Blizzard has actively blocked switching apps when loading screens are up. I have no idea why but I'm guessing it's a conscious decision to speed up the process. Which is a big fail when instance servers are buggy for example.
They haven't actively blocked switching apps. My Macbook can alt-tab (albeit through an alternative alt-tabber) during loading screens, but it'll only get to switching applications before the load finishes if the load is really long, and it makes it significantly longer. The issue is that WoW requests as much processor power as it can get during loading, and whatever you're running can't spare resources.
Note that WoW does, however, block alt-tabbing from the Mac client almost completely, hence the alternative program switcher.
I wonder why there is no "cancel" button during loading. Especially if the "worldserver is down". Yeah, I already know I will curse the missing cancel button when 3.1 hits. :-)
The problem with alt-tabbing from the fullscreen mode lies not in the OS or the World of Warcraft client, but rather in the graphics API. With the game in fullscreen, you have an overlay surface mapped on your screen, which has the "always on top" attribute overriding everything else, and the window focus is automatically returned to that window.
When you attempt to alt-tab from a fullscreen application, it gets a "please minimize" signal from the system - and WoW just can't process it in a timely fashion because it's already busy loading and processing data.
In windowed mode, this doesn't happen because the window can be minimized without the application's consent (as it doesn't need to clean up always on top surfaces, etc).
Note that this "internal lock-up" can be seen when alt-tabbing back - the window won't redraw at all until it enters UI rendering stage (when the progress bar is at 100% but the interface is not up yet).

Windows doesn't produce a "hourglass on the other application" when you alt-tab in windowed mode; it works fine (at least it did on my old single core PC and my current dual core one).

I've yet to test it, but from what I've read about Windows 7, alt-tab from WoW should work seamlessly in this Windows version due to some changes in the way DirectX and the OS handles fullscreen applications.
change the video settings to Window Mode + no borders(or something like that) which will change wow from a fullscreen application to a "normal" windows application and you can tab in and out whenever you want (and it won't change anything ... maybe you'll lose a few fps)
Yeah, windowed mode maximized worked best for me as well, especially since I played at a different resolution from my desktop resolution. Removed all the flickering when alt+tabbing, and worked very nicely for keeping webpages etc up on my second monitor. Since it's wow, I doubt you have anything to worry about performance-wise.

I always open a browser window first, so that I can alt-tab out to read up while it loads. Warhammer is even worse about this for me. Surfing the web while loading into scenarios has gotten me kicked out a few of them due to breaking the AFK rules. Apparently, even though I just see a loading screen, the game has me as logged in and standing AFK at the start. ~Centuri
EQ2 permits you to switch off of zone screens, but it sometimes more than triples the time it takes to load - be careful what you wish for.

Also, I think a big part of the problem is around population. Anywhere other than Northrend zones just as quickly as it did in the TBC era. Any part of Northrend other than Dalaran zones much faster than Dalaran. I was in the beta, and I don't remember Dalaran ever taking as long to load as it does today - due to the level requirement, the population in the city wasn't that huge. Maybe there's a combination of more graphics AND high population (I didn't have problems loading Shattrath back at level 70).
The biggest part of the loading time comes from add-ons (at least on my installation loading time cuts down to 1/3 if I disable all add-ons). If you disable all your add-ons you see a huge improvement. There are even some add-ons which prevent you from logging into Dalaran.

Often they are crappy coded and don't unregister/register all events while zoning. Zoning itself fires tons of events and if you don't unregister your events before zoning and re-register them afterwards, you add-on gets feeded many events which are irrelevant because you leave the zone anyway.
Good comment by aisaka. There's more good technical details over at" Based on this info I would say the "windowed+maximized" mode is the best solution.

I do have a trick however that may work - try hitting alt-tab twice. Sometimes (since my computer is getting a bit old I guess) I hit alt-tab (not in loading screen just in normal game play) and nothing happens, however if I do it again the game will switch. Who knows maybe this will work for loading screen too :)
Another reason it is important to have two monitors!
I find this very annoying as well. I run WoW full screen. The method I use is when the character selection screen comes up, I press Alt-Tab just as I click Enter for the character. This usually executes an Alt-Tab before the load and allows me to browse through FireFox for a minute. Sometimes I don't excute it quickly enough and I am stuck looking at the load screen.
@Zode: That's my solution!

I have WoW on one monitor windowed (but not maximized and at a resolution that still gives 1:1 pixel ratio) and Firefox on the other. Sometimes I'll dual box WoW one instance per monitor when I want to use my wife's death knight as a pet.
As far as slow loading, having Questhelper enabled could be a reason (asuming you have it). I got kicked off in Dalaran so many times while trying to load. Then I disabled questhelper and got in first try.
2 Things: 1) Try disabling Questhelper as Darraxus said. It's my biggest addon coming in at 30Mb. 2) Set your hearthstone to the Underbelly (Dalaran sewers) as it speeds up load time, no one is down there! And there's a mailbox, bank and guild bank all within clicking distance.
Btw, having WoW windowed+maximized allows you to see the contents of the WoW window even while using the Win key+tab function that was added with Vista. A minor thing but nevertheless slightly cool. :)
Alt-tab works in Lotro while loading, if that gives you any hint...
(Windows version) It is because WoW does not "pump messages" while loading. (This is a more jargony way of saying what aisaka did.) Not only is WoW not getting to messages from the OS at this point, I think it's not attending its network connection as well, which is what causes the server to think your client disconnected if it takes your client too long to load. "Hey, I sent the client a "are you there" message two minutes ago, and I still haven't heard anything. Disconnect!"

I can only speculate as to why they did it this way: If they pumped messages between loading each asset and each addon, then the program may change state between two things and the system has to be designed around that.

aisaka: I tried it, and Windows 7 doesn't magically fix it.
I run WoW on Linux (with Wine), and I have the same problem (even with windowed + maximized, no virtual desktop). So it's not Windows' fault or a lack of processing power.
The reason load times are slower in Dalaran than elsewhere is because there are more "objects" to load. An object is any player, widget (like a campfire/portal/mailbox), or NPC. The greater the density of these objects, the more lag you will experience and the longer the load times.
"Another reason it is important to have two monitors!"

I just drooled on myself. My wife seems to think that this is not a priority given the current economic situation in the US and she's not buying my idea that it's "stimulus" spending.

Hey, at least I already have the money for it!
Solution that I've found that works rather well:

Click (but don't release) the "Enter World" button.
Press Win+D
Desktop appears, release mouse button.

WoW will happily load in the background and your desktop will appear.
Post a Comment

Links to this post:

Create a Link

<< Home
Newer›  ‹Older

  Powered by Blogger   Free Page Rank Tool