TransWikia.com

Is enabling "Large Address Aware" ability for PC games actually beneficial?

Arqade Asked by Coldblackice on May 6, 2021

I’ve come across a suggestion for custom-enabling “Large Address Aware” ability for game executables, which as far as I understand, essentially allows 32-bit games to access 64-bit memory space.

http://www.techpowerup.com/forums/threads/large-address-aware.112556/

http://www.pso-world.com/forums/showthread.php?t=199993

Would this suggestion actually benefit game performance, like for Starcraft 2, for example? Is there a way to determine beforehand which games this may or may not help?

Bonus:

And is there risk in doing this for games that multiplay online, as far as possibly getting banned for “cheating”?

2 Answers

To quickly test whether an application is stable when enabling LAA you'd need to have windows allocated memory in reverse to see if the application can handle large memory addresses (int values above 31 bits). The change is done via regedit iirc, but I don't remember the key/value. EDIT: HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSession ManagerMemory Management"AllocationPreference" -- has to be set to top-down allocation so it allocates high addresses first.

Anyways... If the game (probably written in C++) was coded optimally, it won't actually make a difference if you enable LAA in the exe because the programmer(s) would have directly allocated ram into buffers that have a static size at compile time which would be sufficient for all needs. For there to be a benefit of actually having more useable ram with the LAA flag IN AN APPLICATION NOT DESIGNED TO USE LAA, the programmer would've had to have screwed up in their assumptions regarding heap RAM usage and allocation. Or they did something weird that I can't imagine. it's not like Java that has automated heap allocation, and this won't affect memory allocation done on the stack unless they programmers do something very strange.

Correct answer by Anthony Surma on May 6, 2021

Generally speaking, this will not improve the performance of most video games. Large Address Aware (LAA) is only useful in increasing the maximum limit of memory usage by a given application.

Generally speaking, a 32-bit application can use up to 2GB of memory. Most games won't run into this issue, and the ones that do are either already compiled as Large Address Aware (such as Skyrim) or have a 64-bit release.

Large Address Aware is only going to allow games to use more memory. So unless a game is running up to that limit, failing to allocate memory, then crashing, enabling LAA isn't going to help anything.

And is there risk in doing this for games that multiplay online, as far as possibly getting banned for "cheating"?

Well since you specifically mention Starcraft 2, let's look at a blue (official) post directly from Blizzard:

First off, we will not action accounts that are "caught" using a Large Address Aware modified executable.

LAA is only a flag in the executable. It is possible for an anti-cheat program to detect this as a change in the executable, however most anti-cheat software shouldn't mind. If you're concerned with it, I would advise you ask whoever makes the anti-cheat software before making any changes.

Answered by user66184 on May 6, 2021

Add your own answers!

Ask a Question

Get help from others!

© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP