64-Bit: The Definitive Explanation

- Technical Support
90 Blood Elf Hunter
17510
Minor update: Added another post with some fun EXE files here:
http://us.battle.net/wow/en/forum/topic/2593046791?page=4#62

----------------------------------------------------------------------------------------------------

There have been rumors going around about a 64-bit World of Warcraft client possibly going live. Unfortunately, these rumors have also spread a fair share of misconceptions and poor information. I would like to clarify just what benefits a 64-bit client would and would not provide.

First off, if it's not already obvious, you need a 64-bit operating system to use a 64-bit client. 64-bit executable files are not compatible with 32-bit operating systems; however, the opposite is not true. Modern x86-64 Windows operating systems run 32-bit executable files without any real problems. World of Warcraft is currently only offered in a 32-bit flavor, but it is 100% compatible with 64-bit Windows XP, Vista and 7 systems.

One of the main things that people anticipate a 64-bit client would do is improve stability by increasing the usable address space. World of Warcraft - like any other 32-bit application - is normally limited to 2 GB of address space. If a standard x86 application exceeds that limitation, it will crash. There are three ways around this: You can lower the application's memory use, you can rewrite and compile the EXE as 64-bit, or you can use something that is known as a large address aware flag.

Let's look at that third option. A large address aware flag is a flag that's added to a 32-bit application that - at its core - tells the operating system that the program can use more than 2 GB of address space. On a 64-bit operating system, this will double the address space for the application to 4 GB of space. A 32-bit operating system will allow the application up to 3 GB, but only if it's told to explicitly acknowledge the LAA flag. This is not the default behavior, nor is it recommended to do this.

For years, a select few players such as myself hit that 2 GB ceiling and ran into stability issues. Many players may remember hitting this crash in 3.3.5 when there was a large memory leak that needed patching. Fortunately, there were/are tools that can add or remove a large address aware flag from a program, such as one that I shared here:

http://us.battle.net/wow/en/forum/topic/1648732450#1

Sadly, editing the EXE (or any game files, for that matter) is against the terms of use. While this is the case, a few Blizzard posters over at Technical Support stated that players would not be penalized for adding the flag to their executable, practically giving the green light to players to use this method.

Come 4.1, this flag is now included by default, as posted here:

http://us.battle.net/wow/en/forum/topic/1658706617?page=8#145

What does this mean, though? It means that World of Warcraft running on a 64-bit operating system is able to utilize 4 GB of address space right off the bat, no changes needed. Bringing the rumored 64-bit client into this discussion, you should begin to realize that it wouldn't actually impact stability at all. Players simply should not be exceeding 4 GB of memory usage. Any out of storage crashes they see should be pointing to their cache folder as the culprit. Deleting it should resolve the problem.

Of course, players running a lot of addons with high levels of detail on a 32-bit operating system may still be prone to instability from the 2 GB overhead. Neither a large address aware flag or 64-bit executable would benefit them, though. They will either need to tone down their settings or upgrade to a 64-bit operating system.

Aside from the extra room for address space, a 64-bit client could also theoretically bring some performance gains to the table. What kind of gains would we see? It's really hard to say. A well-written 64-bit application can usually see about a 10% increase to performance at best. Usually the gains are even more negligible, though. Various sites have published benchmark results that put 32-bit to 64-bit head-to-head. Feel free to browse around the Internet for some.

Tying the higher address space to performance, some gains may be noticed if the developers decide to use spare memory for other reasons. For example, a computer with 16 GB of memory may have plenty of RAM to spare. A 64-bit application could use some of that extra memory for caching purposes and the like, shortening load times and possibly increasing framerates.

There are plenty of questions regarding 64-bit vs. 32-bit builds even today. If this thread didn't clarify a specific question you had regarding what 64-bit can and cannot help with, feel free to ask and I will do my best to answer.
________________________________________________
The wise speak only of what they know. - J.R.R. Tolkien
CORE I7 3.8GHz | 12GB RAM | ATI 5970+5870 | F120 SSD
Live Support: irc://chat.freenode.net/wowtech
Edited by Kodiack on 11/18/2011 4:46 PM PST
Reply Quote
85 Goblin Death Knight
11180
Thanks for the explanation. Sticky requested.
Reply Quote
- Technical Support
90 Blood Elf Hunter
17510
06/04/2011 08:25 PMPosted by Sphene
Thanks for the explanation. Sticky requested.


Blizzard doesn't allow player threads to be stickied here at General Discussion. I will likely post this over at the Games, Gaming and Hardware section of the forums later, though.
________________________________________________
The wise speak only of what they know. - J.R.R. Tolkien
CORE I7 3.8GHz | 12GB RAM | ATI 5970+5870 | F120 SSD
Live Support: irc://chat.freenode.net/wowtech
Edited by Kodiack on 6/4/2011 8:27 PM PDT
Reply Quote
90 Night Elf Druid
9070
Let's bump this informative thread.
Reply Quote
Thanks for the interesting read, liked and posting for a bump!
Reply Quote
85 Human Death Knight
10860
As someone who finally finally made the jump to a 64 bit system, very interesting read. How do you do the LAA 4.1 flag or whatever though? Im feeling like a computer noob now :(
Reply Quote
90 Draenei Shaman
9040
guess this means I need to RMA the 2 dead sticks I have on my desk(oh wait needed to do that anyway) so I can be back upto 8gigs ram in my gaming box
Reply Quote
85 Troll Hunter
3995
Blizz, I want 8-bit WoW.

MAKE IT HAPPEN.
Reply Quote
100 Human Paladin
13755
64 bits is twice as gud as 32 bits!

Thanks for the post. Informative and interesting. This surely does not belong on the general forums ;)
Reply Quote
94 Night Elf Rogue
17140
The post at MMO has things like

[pre]if ( IsWindowsClient() ) then[/pre]

I'm curious as to the current and future status of the Mac version. I'll assume the current version of the Mac client is not 64-bit aware (although it wouldn't be the first time the Mac version got something cool/useful before the Windows version), but are there plans to make this change happen for Mac users as well?

Obviously you can't answer this, Kodiack (at least, not future plans), but I'd be interested in a blue chiming in on this one.
Reply Quote
80 Gnome Rogue
2760
The post at MMO has things like

[pre]if ( IsWindowsClient() ) then[/pre]

I'm curious as to the current and future status of the Mac version. I'll assume the current version of the Mac client is not 64-bit aware (although it wouldn't be the first time the Mac version got something cool/useful before the Windows version), but are there plans to make this change happen for Mac users as well?

Obviously you can't answer this, Kodiack (at least, not future plans), but I'd be interested in a blue chiming in on this one.


That doesn't really pertain to Mac OS in the slightest. The Mac client, afaik, is LAA and the current version of Mac OS X is 64-bit so long as you have a 64-bit processor. Running WoW on Mac OS X that is 64-bit would be exactly like running WoW on Windows 64-bit. Mac OS X doesn't use DLLs like Windows does.

As I posted in another thread:

The Scan-64.dll MMO Champion posted about is the DLL that Warden uses to scan the system for known hacks, mods, etc. for the game client. The code MMO Champion posted simply does an OS check and chooses to use the proper DLL to scan running processes and memory. It hints at nothing of a full blown 64-bit client update.
Edited by Stabopotamus on 6/5/2011 12:21 AM PDT
Reply Quote
85 Orc Warrior
7535
Unless the majority of user go over 4gb of ram, performance will actually go down because of longer memory addresse...

As for the 2gb wall, how many add-on do you use since a huge memory leak like the last one would get you to the wall in 64 bit too just after more time...
Reply Quote
85 Orc Warrior
2910
06/05/2011 12:25 AMPosted by Frostys
Unless the majority of user go over 4gb of ram, performance will actually go down because of longer memory addresse...

You lose some performance to memory churn from fat pointers, but you gain some performance from having more general-purpose registers. Which of these is larger depends on the application.
Reply Quote
85 Orc Warrior
7535
06/05/2011 01:23 AMPosted by Zalathar
Unless the majority of user go over 4gb of ram, performance will actually go down because of longer memory addresse...

You lose some performance to memory churn from fat pointers, but you gain some performance from having more general-purpose registers. Which of these is larger depends on the application.


From what I remember, you needed some huge ass memory hog apps to see this cross back over to performance gain at 4gb. At 8 it would probably be worth it but since most people don't build thier computer, most are still at 4gb max for some time still.
Reply Quote
- Technical Support
90 Blood Elf Hunter
17510
06/04/2011 10:47 PMPosted by Dreagan
As someone who finally finally made the jump to a 64 bit system, very interesting read. How do you do the LAA 4.1 flag or whatever though? Im feeling like a computer noob now :(


It's in there by default post-4.1. :) You don't have to do anything further at this point. I included the link as just a bit of history on the subject.

Blizz, I want 8-bit WoW.

MAKE IT HAPPEN.


http://www.youtube.com/watch?v=hGom_CCz4so
________________________________________________
The wise speak only of what they know. - J.R.R. Tolkien
CORE I7 3.4GHz | 12GB RAM | ATI 5970+5870 | F120 SSD
Live Support: irc://chat.freenode.net/wowtech
Reply Quote
85 Worgen Druid
7385
The best part if they eventually go X64 is to allow them the breathing room to modify the caching system a bit. It might incur slightly longer initial load times but you would see reduced/eliminated hiccups during gameplay.

And personally, I'd rather the trade-off (Remember, it's *always* a trade-off).

This also gives them the ability to start using even higher resolution artwork and higher polygon models. I would imagine they're pretty close to hitting the limits of what they can actually do with the game memory-wise, and this would give them a rather significant breathing room (virtual address space per process in Vista/7 x64 = 8TB).
Reply Quote
- Technical Support
90 Blood Elf Hunter
17510
06/05/2011 08:34 AMPosted by Ako
It might incur slightly longer initial load times but you would see reduced/eliminated hiccups during gameplay.


Not if it just stayed in RAM after it was streamed there. :P A caching algorithm for a game like this would be great, but it would really need to keep an eye on system memory usage. I would love to see one, though!

06/05/2011 08:34 AMPosted by Ako
This also gives them the ability to start using even higher resolution artwork and higher polygon models.


Polygons usually don't take much space, but they do eat through a lot of raw processing power. The extra texture resolutions would be great, though! I'm sure the art team's already a bit constrained with address space limitations. World of Warcraft is a huge game, and it wants to continue growing.
________________________________________________
The wise speak only of what they know. - J.R.R. Tolkien
CORE I7 3.4GHz | 12GB RAM | ATI 5970+5870 | F120 SSD
Live Support: irc://chat.freenode.net/wowtech
Reply Quote
You won't see this stickied or acknowledged until Blizzard itself actually announces the new client... right now we're just going off of datamined filenames. But great post.
Reply Quote
74 Blood Elf Paladin
560
I just realized how your Core I7 went from 3.8Ghz to 3.4Ghz in your sig.

Reply Quote
- Technical Support
90 Blood Elf Hunter
17510
06/05/2011 10:22 AMPosted by Athenase
I just realized how your Core I7 went from 3.8Ghz to 3.4Ghz in your sig.


Haha, I've got a signature script using Greasemonkey (thanks Sixen!). I'm using the Firefox 7.0a1 nightly and can't access the user scripts, so I only update it to 3.8GHz when I remember to. :P
________________________________________________
The wise speak only of what they know. - J.R.R. Tolkien
CORE I7 3.8GHz | 12GB RAM | ATI 5970+5870 | F120 SSD
Live Support: irc://chat.freenode.net/wowtech
Edited by Kodiack on 6/5/2011 11:31 AM PDT
Reply Quote

Please report any Code of Conduct violations, including:

Threats of violence. We take these seriously and will alert the proper authorities.

Posts containing personal information about other players. This includes physical addresses, e-mail addresses, phone numbers, and inappropriate photos and/or videos.

Harassing or discriminatory language. This will not be tolerated.

Forums Code of Conduct

Report Post # written by

Reason
Explain (256 characters max)
Submit Cancel

Reported!

[Close]