shadow píše:Tak switch /3GB v boot.ini ruším. Začalo to s tím padat a především je to s tím daleko pomalejší, než bez toho. )
Omlouvám se, pokud se to již zde řešilo, ale neměl jsem chuť číst celé téma - navíc pro mne zcela zbytečné...
Nemám Gothic 3 (leda že bych ho stáhnul z místní sítě a vyzkoušel to, ale to se mi zas nechce, na to jsem příliš líný)...
Proto se ptám: jak je ten program, ta binárka sestavená (=slinkovaná)?
Podporuje využívání 3 GB adresového prostoru?
Dá se to zjistit pomocí
dumpbin.exe /headers <jméno.programu>.
Pokud ano, mělo by to vypsat "Application can handle large (>2GB) addresses".
Je-li tomu tak, pak přepínač /3GB by mohl mít nějaký vliv na běh programu.
Pokud tomu tak není, je možné dodatečně nastavit ten příznak (IMAGE_FILE_LARGE_ADDRESS_AWARE) pomocí
editbin.exe /LARGEADDRESSAWARE <jméno.programu|dynamicky.připojovené.knihovny>.
Oba programy jsou součástí Windows SDK (někdejší Platform SDK).
(Jistě, pokud se někde v programu předpokládalo, že nejvyšší bit je vždycky 0, tedy že max. je 0x7FFFFFFF, pak by mohl nastat problém.) To v případě takových absurdních předpokladů s "ukazatelovou aritmetikou" - málo pravdepodobné v praxi, IMHO.
Takový problém se může týkat snad zejména ovladačů - ale tam by se to zas nemělo stávat.)
Myslím, že by bylo možné vyzkoušet, zda to hra zvládá, pomocí změny politiky obsazování paměti - změnit ho na "top down": nastavit v
[HKLM\System\CurrentControlSet\Control\Session Manager\Memory Management]
AllocationPreference = 0x100000 (REG_DWORD)
Tohle donutí proces využívat stránky od adresy zhruba 0xBFFFFFFF směrem dolů.
Tohle nastavení ovšem ovlivňuje celý systém.
Další lehké čtení k tématu:
http://www.amd.com/us-en/assets/content ... -_6204.pdf
[pdf, 178 KB]
A jen tak mimochodem, co se týče přepínače /3GB:
http://support.microsoft.com/kb/291988/cs
Hm, proč to chodí pomaleji a padá, to fakt nevím. Fragmentací paměti by to být zřejmě nemělo (to už spíš bych podezíral "out of memory" jako důsledek fragmentace, i když to by museli mít příšerně zprasenou správu paměti...). Hm, paměti by mělo být dost, stránek také...
Nevím. Leda že by Windows XP Home Edition ve skutečnosti nepodporoval přepínač /3GB... Ale i tak pochybuji, že by se to takhle projevovalo.
//EDIT:
Tak jsem trošku zagooglil a zjistil jsem, že ty pády nemudí být fenoménem ojedinělým.
A ještě jsem našel tohle - vida, asi jsem nebyl jediný, komu napadlo pohrát si s tím:
http://www.rpgwatch.com/forums/archive/ ... t-145.html
HiddenX píše:
Even though XP supports up to 4Gb, the virtual address space of processes and applications is still limited to 2 GB unless the /3GB switch is used in the Boot.ini file.
So if you go over 2GB, the performance won't really change unless you know how to pick your system.
The LargeAdressAware (LAA) Bit must be set for the .exe file and .dlls, too.
I made a hack for Gothic 3 over at WoG:
http://forum.worldofplayers.de/forum/sh ... ost2668283
Unzip LAA_(Version2).zip to your Gothic 3 Folder and click on LAA_all_ON.cmd.
With LAA_all_OFF.cmd everything will be changed back to original.
Alternative: you can use NicoDE's tool (LAAHack) for Gothic 3 and other games:
http://www.bendlins.de/nico/gothic/misc/
For Win32 systems the switches /3GB /USERVA=2800 must be added to the boot.ini
- for Win64 no boot.ini changes are needed.
To manipulate boot.ini you can use this tool -> Boot.ini C.U.:
http://www.dx21.com/SOFTWARE/Dx21/ViewI ... I=2&OID=14