Információmorzsák a grafikai crash mögött
A múltheti crashel és a potenciális fixálással kapcsolatos cikkben már alaposan körüljártam ezt a kérdés, azonban mostanra némileg jobban kiokosodtam a témában. Leírom amit megtudtam, ha nagy hülyeség, akkor úgyis majd kijavítotok, de ezen infók alapján némileg érthetőbb, hogy miért is nem volt erre a problémára egyből fix. Valamint miért is tartott ez közel egy évig és miért kellett hozzá egy EU/US megjelenés, hogy valóban foglalkozzanak is ezzel:
- Az gondolom mindenki számára tiszta sor, hogy az Aion – hasonlóan majd minden játékhoz – 32bites platformon lett fejlesztve és a 64bites platformokon is az OS által nyújtott 32bites emulációban fut. Ebben nincs is semmi meglepő dolog. Aki a matematikában picit is járatos az tudja, hogy 32 biten ugye 2,048 gigabyteot lehet megcímezni. Tehát egy 32 bites alkalmazás nem képes 2 gigabytenál több memóriát használni, hiszen a címtartományában nem képes azt megcímezni.
- A gyakorlatban ez azt jelenti, hogyha olyan programot akarunk írni, ami képes 2 gigabytenál több memóriát használni, akkor azt 64bitben kell fordítani. Ez viszont értelemszerűen nem fog futni a 32 bites processzorokon és 32 bites operációs rendszereken. Ergo a játékfejlesztő cég vagy párhuzamosan fejleszti a játékot 32 és 64 bitre, vagy dönt, hogy melyik ügyfélbázist zárja ki. A 32 bites irány azért jó, mert ott legalább nincs kizárva a 64 bites platform, cserébe viszont max 2 gigabyte a határ, ami a mai életben már kvázi viccként kezelhető.
- A 64 bites processzorokhoz nem elég a megfelelő programot futtatni, ahhoz bizony 64 bites operációs rendszer is kell. Ez azonban szintén komoly gondot okozna, hiszen ezzel újabb játékosok tömegeit zárnánk ki. Éppen ezért találták ki az okos Microsoft mérnökök nekünk a “4 GT RAM Tuning” nevű technológiát, aminek a lényege, hogy 32 biten is lehessen egy alkalmazáson belül több mint 2 gigabyte memóriát címezni. Ehhez az adott alkalmazás – és annak össze DLL-je – fordításakor azonban be kell kapcsolni a “/LARGEADDRESSAWARE” opciót.
- Ez az a bizonyos opció, amit az AionSource fórum közössége az első post után felkarolt és véres kardként húrcolt végig az Aion oltárán. Mindeközben hangosan hangoztatta, hogy hogyan lehet annyira nyomorék az NCSoft, hogy nem fordítja újra az Aion-t és kapcsolja be ezt az opciót. Sőt egyesek odáig elmentek, hogy maguk kézzel módosították a DLL-ek struktúráját és belehackelték a kiterjesztett memória használatot, majd beszámoltak arról, hogy mennyire nincs crashük, miközben sokan meg azt írogatták be, hogy nekik meg ugyanúgy van.
- Nos, a koreai test patchnotesból most kiderült a turpisság. Hiába kapcsolták volna be a /largeaddressaware opciót, ha az operációs rendszerben nincs az engedve. Márpedig a 32 bites Windows XP-ben alap esetben nincs engedélyezve ez a bizonyos “4 GT RAM Tuning” opció. Ahhoz, hogy ilyen környezetben is legyen értelme ennek az opciónak, át kell paraméterezni az OS-t (ehhez a boot.ini-t kell módosítani 2 extra paraméterrel), amit valamelyes érthető okokból az NCSoft szeretett volna elkerülni.
Mi is fog mindez miatt változni ?
- A grafikai optimalizációval drasztikusan csökkentik a játék videoram/textúra és egyéb tárolóinak méretét. A játék ráadásul automatikusan fogja ezt managelni (ha hagyod neki), így magas memória használat esetén egyre jobban optimalizálja a bevonandó memóriát.
- Bekapcsolják a kiterjesztett memória használatát ami miatt 64bites OS-eken alapból képes lesz a játék több mint 2 gigabyteot használni.
- Megkérik a 32bites Windows XP OS-t használó játékosokat hogy kapcsolják be a boot.ini-ben a /3G opciót, aminek segítségével szintén képes lesz a játék több mint 2 gigabyte memóriát használni 32 biten is.
Mindennek mi lesz a várható eredménye: Nem lesz crash. Remélhetőleg hamarosan kimondhatjuk: téma lezárva.
Aion