Raising Large Address Awareness
Each individual program in a Windows environment (and in other environments as well) can access two kinds of memory; System Memory and User Memory.
System Memory (red in schema) contains the program code and various settings and tables handled by Windows. In this memory area, only Windows can read as well as write (to load the program), while the program itself in that area can read only. This is to protect systems against viruses, against self-modifying code and against other potential threatening program behavior.
User Memory (blue in schema) is the area where the program itself is allowed to read and write, to store and retrieve it’s intermediate values and results from user actions. When the program is up to something massive, this area is blown to pieces.
While each 32-bit program – without any exception – can deal with a maximum 4Gb of memory in total, most programs are created in such a way that 2Gb is the maximum amount of user memory they can handle, even when they are assigned more bij Windows. See the top Exe in the schema, blue and red areas equal in size.
Unless the program is made “Large Address Aware” (or: LAA) in which case those kinds of limits are off. see the bottom two programs in the schema, the blue is larger than the red one. This can be done at creation time, by the supplier, and happens more and more. It can also be done at production time, by you on your PC, and requires a special piece of software, like “LaaTiDo”.
This program makes slight changes to your software. As this has some risks involved, you make copies of the original first, of course. An issue is, that each time a new version (update, service pack, …) of that software is installed (from upgrading or whatever), you have to deal with the new executable all over again.
The following programs
- Poser 8
- Daz Studio 3
- Carrara 7 and 8
- all Adobe Elements 9 and CS5
are known to be LAA, and do not require further treatment, while
- Bryce 7 and earlier
- all 32-bit Vue variations
- Photoshop 7
- Paintshop Pro X2 and earlier
and known NOT to be LAA and do require this enhancement. I’ve no knowledge yet on Poser 7 and before, Daz Studio 2, Photoshop CS4 / Elements 8 and before and the latest PaintShopPro X3. Anyway, for Poser, Daz Studio and Carrara upgrading is a recommended alternative for fiddling with the program’s executable.
How to proceed?
First of all, you have to make sure you need this kind of solution. Is the problem you’re facing caused by the 2Gb User Memory boundary indeed? Read the previous Monitoring User Memory section about it.
To continue, you’ll need the LaaToDo program. Download the LaaTiDo service program discussed in this tutorial, as well as this tutorial in PDF format (4Mb).
Second, you’ve to locate all the relevant executables in your Program Files folder, and copy (not move!) them to a place to work them, like a new folder in your Temp directory.
This is because you (and Windows) don’t want LaaTiDo or any other application to write in your Program Files directly.
Third, start LaaTiDo and open one of those executables for inspection (1), then click the [Check] button (2). Is it Large Address Aware (LAA)?
If so, you’re done, just test other executables. You may find that when a supplier made the program LAA, all relevant executables are so already. When the supplier did not, non of those are and you have to make them so.
Forth, for non-LAA executables (1), you [Check] (2), then [backup] (3) and then click the [Enable] button 94). That’s it, and you’re almost done. Repeating the previous Check (5) will show you that the new executable is LAA aware indeed now.
Finally, you move the adjusted executables AND their respective unchanged copies (!) back to the Program Files environment, overwriting the existing ones. This is manual action, and Windows will ask you for confirmation.
Now you can test your adjusted program, in simple conditions. Does it seem to work? Then you’re fine. Does it fall apart instantly? Then you have to step back, and transfer your backed up unaltered copies onto the altered ones or so, as the LAA progress is not working for them. That means end of the road indeed, stepping towards all 64-bit software is the only way to go now.
When is does seem to work, and you’re in a 64-bit Windows environment, or a 32-bit environment which is set ready before, then you’re done indeed. If not, then all you’ve got to do is to adjust your 32-bit Windows as well. The next section tells you how.