Originally Posted by WarMadMax
graphics memory addressing is the main reason,
the upper end of the memory addresses are reserved primarily by the graphics card's onboard ram, with a few addresses for DMA access and the like...
This certainly applies for older chipsets (e.g. nForce) but current ones (like Intel's X58) relocate GPU memory beyond the 4GB boundary, so it doesn't reduce the memory accessible on 32-bit OSes (some providing a BIOS option for this).
It's worth noting that even though PAE was officially disabled on 32-bit WinXP, some software can still use it to access memory beyond what XP can manage, allowing 32-bit users to gain improved performance from their system. Examples include:
- Gavotte Ramdisk PAE (free);
- Superspeed Ramdisk Plus (commercial, licence key tied to computer name);
- Vsuite and Primo Ramdisks (free and commercial versions available - commercial licence key tied to computer hardware, requires online activation or email to Romex to install on new system);
- Dataram Ramdisk (cannot access memory between 3-4GB on 32-bit systems, may have problems hosting pagefiles);
- EBoostr - disk caching software, requires online activation.
The main reason to use 32-bit Windows is clearly compatibility - especially for those using hardware or software with 32-bit drivers (that cannot run under 64-bit and may not work in XP mode with its limitations on hardware access) where no update is available.
Another downside of 64-bit is the rather inept way Microsoft has chosen to segregate 32-bit and 64-bit software, requiring a separate "Program Files (x86)" for 32-bit software when alternative systems (like a new file extension for 64-bit software) would have made the 64-bit transition a far more seamless experience. Contrast this with how 32-bit Windows OSes handled 16-bit software (firing up WOWexec automatically) - users didn't even need to know whether their software was 32-bit or not.
Patchguard (an attempt to block kernel modifications on 64-bit systems) and driver signing are also problematic - although intended to improve security they arguably make matters harder for security software vendors
than for malware writers. Driver signing imposes a cost on developers (typically $500/year) which will have the effect of discouraging freeware, while having near-zero impact on malware ($500 is small change for scammers and certificate providers have little incentive or ability to avoid authorising malware
For someone starting out with a new system and no legacy software or hardware, 64-bit is going to be the better choice (only for Win7 Professional or better, since Home Premium's 16GB limit is paltry compared to the 64GB a Win2K/XP install can handle with PAE). However it isn't clear-cut for everyone, and there will be cases where 32-bit (with various workarounds, noted above) will be better.