Są dwie rzeczy które trzeba rozróżnić:
Pierwsze to obsługa więcej niż 4GB RAM przez system ( z punktu widzenia użytkownika więcej niż 3,12GB). Można to obejść albo włączając PAE, albo kupując 64 bitowy system operacyjny i procesor. I niech nikt mi tu nie zaczyna gadki że Intele nie są 64 bitowe, bo są w tym samym stopniu co AMD. Co do PAE jestem raczej sceptykiem. Jest to rozwiązanie bardziej pod kątem serwerów, wprowadza dodatkowy poziom translacji adresów przez system co jakiś tam negatywny wpływ na wydajność komputera ma, a zysk jest stosunkowo niewielki w zastosowaniach domowych z powodu numer 2, czyli:
Każdy 32 bitowy proces (program) ma dla siebie dostęp do jedynie 2GB pamięci. Nieważne czy system operacyjny jest 32 czy 64 bitowy i nieważne ile pamięci RAM jest w komputerze, gdyż mówimy tutaj o pewnej abstrakcji którą widzi każdy działający w komputerze program dzięki systemowi operacyjnemu. Oznacza to, że nawet jeśli mamy w komputerze 8GB ramu i Vistę 64 ultimate, to gdy program zażąda więcej niż 2GB pamięci to się wywali z pięknym błędem "Out of memory". Można to obejść w sposób podany przez ESP'a w linku do AVSIM, ale na 32 bitowym systemie zyskamy "tylko" 1GB więcej, czyli uzyskamy 3GB. Na 64 bitowym systemie będzie to +2GB, czyli proces będzie mógł dostać pełne 4GB.
Co tak naprawdę robimy dodając ten ekstra gigabajt, to zmniejszamy ilość pamięci zarezerwowanej dla systemu. Nie chcę tutaj pisać jakichś mądrych wywodów jak to działa, więc powiem tak. W dawnych zamierzchłych czasach kiedy myślenie o gigabajtach pamięci było większą abstrakcją niż myślenie obecnie o terabajtach, umyślano że z 4GB pamięci które można zaadresować używając 32 bitowej liczby, 2GB dostanie działający program, a 2GB zostanie zarezerwowane dla systemu operacyjnego na własne potrzeby. Robiąc ten trik, zmieniamy proporcje i 3GB dostaje program, a 1GB system. Polecam przeczytać ten artykuł, bo lepszego wytlumaczenia dla siebie nie znalazłem, a poza tym jest o FSX'ie
http://blogs.msdn.com/ptaylor/archive/2007/06/15/fsx-and-win32-process-address-space.aspxDwie wymienione rzeczy na które zwróciłem uwagę podczas lektury, to to, że był bug we wcześniejszych niż czerwcowa wersjach DirectX'a który mógł powodwać wywalenie systemu, oraz to że pamięć karty graficznej jest mapowana w ten 1GB przestrzeni który pozostał dla systemu, co w przypadku GTX'a z 768MB pamięci sprawia, że na inne potrzeby (sterowniki, biblioteki) pozostaje jedynie 256MB.
Żadnej z tych funkcji nie testowałem, więc niestety nie wiem jak to się przekłada na konkretną wydajność. Ale jeśli już radzę skupić się przede wszystkim na zwiększeniu widzianej przez program przestrzeni adresowej do 3GB. To przyniesie bardziej wymierne korzyści.