1. #1
    Field Marshal Kodiack's Avatar
    10+ Year Old Account
    Join Date
    Jul 2010
    Location
    New Zealand
    Posts
    56

    64-Bit: The Definitive Explanation

    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/to...617?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.

  2. #2
    Herald of the Titans Hinalover's Avatar
    15+ Year Old Account
    Join Date
    Sep 2008
    Location
    Virginia
    Posts
    2,765
    When 4.1 was released, is there a way to activate the LAA without having to use the program listed? Such as adding in something along the lines of "LAA = true" in the WTF file?

  3. #3
    Field Marshal Kodiack's Avatar
    10+ Year Old Account
    Join Date
    Jul 2010
    Location
    New Zealand
    Posts
    56
    Quote Originally Posted by Hinalover View Post
    When 4.1 was released, is there a way to activate the LAA without having to use the program listed? Such as adding in something along the lines of "LAA = true" in the WTF file?
    The large address aware flag is there by default. You don't have to use the program at all. I simply linked to that post to provide a bit more history on the subject.

  4. #4
    Thanks, very helpful.

  5. #5
    You forgot one of the most important details there.

    Normal memory usage of WoW client hovers somewhere around 900-1200MB when you're playing on single 1920x1080 monitor, and you will never be anywhere even close to the 2GB limit which is why neither LAA nor native 64bit executable will add stability. Most of the crashes are still caused by cache corruption instead of running out of memory.

    The people who are genuinely experiencing RAM shortage and who will benefit from the 64bit executable for stability are those playing on a 2560x1600 monitor or have game spanned over 2-3 or even more screens.
    Never going to log into this garbage forum again as long as calling obvious troll obvious troll is the easiest way to get banned.
    Trolling should be.

  6. #6
    Field Marshal Kodiack's Avatar
    10+ Year Old Account
    Join Date
    Jul 2010
    Location
    New Zealand
    Posts
    56
    Vesseblah, that's not true either. On 1920x1080 I was still able to frequently run into these crashes, as were many other players. There are numerous factors to take into consideration. Resolution is just one of those factors. Addons, system configuration, drivers and settings are all other pieces of the pie that may contribute to excess memory usage. A crash log will point to whether or not a cache-related issue caused WoW to terminate.

  7. #7
    Quote Originally Posted by Kodiack View Post
    Vesseblah, that's not true either. On 1920x1080 I was still able to frequently run into these crashes, as were many other players.
    Not really. Game client version 3.3 is/was well known for having memory leaks, and it was possbile to top 2GB usage back then. With any other game clients before or after you never have been able to hit the 2GB limit playing on single screen resolution.
    Never going to log into this garbage forum again as long as calling obvious troll obvious troll is the easiest way to get banned.
    Trolling should be.

  8. #8
    Deleted
    Quote Originally Posted by vesseblah View Post
    Not really. Game client version 3.3 is/was well known for having memory leaks, and it was possbile to top 2GB usage back then. With any other game clients before or after you never have been able to hit the 2GB limit playing on single screen resolution.
    Unless you had addons that ate 800-1000 MB, which is highly unlikely.

  9. #9
    Field Marshal Kodiack's Avatar
    10+ Year Old Account
    Join Date
    Jul 2010
    Location
    New Zealand
    Posts
    56
    Quote Originally Posted by vesseblah View Post
    Not really. Game client version 3.3 is/was well known for having memory leaks, and it was possbile to top 2GB usage back then. With any other game clients before or after you never have been able to hit the 2GB limit playing on single screen resolution.
    You could still hit 2 GB+ of memory usage. Ask around. It was rare at lower resolutions, but definitely possible.

    Quote Originally Posted by Prixie View Post
    Unless you had addons that ate 800-1000 MB, which is highly unlikely.
    It occurred even without a heavy use of addons.

  10. #10
    Deleted
    Quote Originally Posted by Kodiack View Post
    You could still hit 2 GB+ of memory usage. Ask around. It was rare at lower resolutions, but definitely possible.



    It occurred even without a heavy use of addons.
    Standing in a crowded SW right now I'm getting 1GB usage, I see no situation where it would load in another gig and crash.

    EDIT: 1920x1200 @ Ultra by the way.
    Last edited by mmocf3173aaef6; 2011-06-05 at 02:32 PM.

  11. #11
    Quote Originally Posted by Prixie View Post
    Standing in a crowded SW right now I'm getting 1GB usage, I see no situation where it would load in another gig and crash.
    That's because it wont. Never got my memory usage over 1.3GB even in 25-man raids with Recount and DeathNote on (those two can top addon memory usage over 100 meg easily). And 50+ other addons...
    Never going to log into this garbage forum again as long as calling obvious troll obvious troll is the easiest way to get banned.
    Trolling should be.

  12. #12
    Field Marshal Kodiack's Avatar
    10+ Year Old Account
    Join Date
    Jul 2010
    Location
    New Zealand
    Posts
    56
    Quote Originally Posted by Prixie View Post
    Standing in a crowded SW right now I'm getting 1GB usage, I see no situation where it would load in another gig and crash.
    I'm sitting around 1.4 GB right now, but this is only after logging in and going to Tol Barad/Shattrath to fill up the cache a bit. The addon using the most memory at the moment is Carbonite, sitting at only 7.93 MB.

    As I stated before, not every configuration works the same. Just because that's what you're seeing doesn't mean it's what everyone else will. Resolution is just one of the many factors to look at.

    ---------- Post added 2011-06-05 at 09:41 AM ----------

    By the by, I forgot to mention one thing: WoW doesn't need to use the extra memory. It just needs to attempt to go over the address space. You'll want to look at your commit size, not the working set, peak working set or anything else. WoW will reserve more space than it actually needs. Crashes often started to occur when memory usage hit the 1.7-1.8 GB range.
    Last edited by Kodiack; 2011-06-05 at 02:41 PM.

  13. #13
    Deleted
    Well i guess that memory usage drastically increase in some specific fights....like maloriak red phase where 25ppl hug.

  14. #14
    Deleted
    Quote Originally Posted by Kvitko View Post
    Well i guess that memory usage drastically increase in some specific fights....like maloriak red phase where 25ppl hug.
    How would that increase memory usage?

  15. #15
    Neat, I didn't know they made 4.1 large address aware by default. Or at least planned to since I can't find a confirmation. I wish these things would be in the patch notes.
    Moonkin maybe looking for raiding guild.
    Q6600 @ 3.0GHz | Abit IP35 Pro | 8GB DDR2 | XFX GTX 260 | Crucial C300 128GB | Asus Xonar STX | Corsair 550VX | Dell U3011 | IBM Model M | Razer Naga

  16. #16
    Field Marshal Kodiack's Avatar
    10+ Year Old Account
    Join Date
    Jul 2010
    Location
    New Zealand
    Posts
    56
    A good pal of mine linked me to this:

    http://support.microsoft.com/kb/940105

    Hopefully it elaborates on a few things. Also, it discusses how DX10/11 APIs are more memory-efficient than DX9. One other point that I maybe should have elaborated on is that DX9 uses a fair chunk more memory than DX11, usually in the 200-400 MB range, if not sometimes even more. The more VRAM you have on your GPU, the more likely it is that an application will creep up to the virtual address space limitation in DX9 mode.

    "Applications that use graphics APIs that are earlier than DirectX 10 and that target GPUs that have large amounts of video memory can easily exhaust their virtual address space."

    Also, note that although the problem documented there is listed as resolved, it still explains why programs can exhaust their virtual address space.

    "Although this approach reduces virtual address consumption, it does not eliminate the 2 GB virtual address space limit that many applications are quickly approaching on their own. Eventually, applications will reach the limit for other reasons."

  17. #17
    Herald of the Titans Saithes's Avatar
    10+ Year Old Account
    Join Date
    Feb 2011
    Location
    Mun
    Posts
    2,719
    Easiest way for me to hit the 2GB cap before was to jump through a ton of zones all right after one another. Before LAA if I went zone hopping I would slowly rise up to the 2GB limit and eventually crash.

  18. #18
    In the 3.3 era, I regularly hit the 2g mark, crashing. Most of the time I was flying into Dalaran. As stated, that version had memory leaks....

  19. #19
    Field Marshal Kodiack's Avatar
    10+ Year Old Account
    Join Date
    Jul 2010
    Location
    New Zealand
    Posts
    56
    Quote Originally Posted by ambar0691 View Post
    In the 3.3 era, I regularly hit the 2g mark, crashing. Most of the time I was flying into Dalaran. As stated, that version had memory leaks....
    Yes, it did. 3.3.5 - which included RealID - had those memory leaks. 3.3.5a patched it back up to more "normal" usage. There were many players (myself included) that were crashing long before that, though. I was having these crashes post-3.0, after Wrath landed.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •