Kezdőlap Hírek Diablo III optimalizálása

Diablo III optimalizálása

1448
0
MEGOSZTÁS

Avagy hogyan fusson szebben/jobban a játék a számítógépünkön.
Már régóta készülök megírni ezt a cikket, de most alkalmam is nyílik rá, mert ebben az uborkaszezonban alig van valami hír a játékról. Ezért ez a cikk most ily módon rendhagyó lesz, ugyanis nem friss híreket közlök benne, hanem inkább egyfajta útmutatót, segítséget szeretnék adni azoknak, akik a battle.net fórumot nem bogarásszák olyan gyakran.

Egy kis ösztönzés:

 Ne legyünk lusták! Amikor én elkezdtem foglalkozni a dologgal, az motoszkált a fejemben, hogy bár a számítógépem már 3-4 éves, azért az még sincs rendben, hogy bizonyos részeknél annyi képkockát jelenít meg, hogy a monitorom nem bírja frissíteni ezért pedig töredezik a kép, másutt pedig 15-20 fps-el döcög a játék, a mikro szaggatásokról nem is beszélve. “Amikor elindítom a játékot és egy waypointra beugrom, egy darabig áll a kép…” -gondolom ez a jelenség is ismerős számotokra.

 

HDD Stuttering- Akadás/szaggatás:

 Ez az egyik legidegesítőbb probléma. A jelenség a játék béta stádiuma óta létezik, egyesek azt állítják, hogy bizonyos hardvereken az 1.0.3-as patch csak rontott, mások szerint már megszűnt a jelenség, de egy biztos: a Blizzard semmilyen grafikai változtatásról nem adott még hírt ez ügyben, ezért én változatlannak tekintem. Hogy jobban megértsük miről is van szó, tekintsük meg a következő videót:

[youtube iukY2L8PpSM 600 350]

 A probléma okozói a hatalmas, 1-2 gigás MPQ fájlok és ezeknek elérése. Nem feltétlenül az olvasási sebességgel, hanem inkább az olvasási válaszidővel van gond (“read response time”) az az idő, ami fizikai hozzáférést biztosít. Mikor a Windows vagy más háttérben futó program versenyzik a meghajtó hozzáféréséért, minden másnak ki kell várnia sorát.

HDD Stuttering megoldása:

Erre a problémára rögtön három megoldással is szolgálhatok, mindenki válassza a kedvére valót:
1.a) Az egyik megoldás a pendrive vagy memória kártya. 16 gigás és a fölötti méretek esetén nyugodtan dugjátok be egy olyan portba, ahol nem fog titeket zavarni és telepítsétek rá a Diablo III-at. Itt persze felmerül a kérdés, hogy egy pendrive hogy lehet erre megoldás, miközben egyes típusoknak sokkal kisebb az olvasási sebessége, mint a HDD-nek. Erre a választ részben a felül leírtakban találjátok: read response time.  A flash memóriáknak sokkal jobb a válaszidejük, mint a mechanikus meghajtóknak, a legfontosabb pedig: semmilyen más program nem akar hozzáférni a pendrive-odhoz, csakis és kizárólag a játék, ezért csak őt kell kiszolgálnia. Ez az oka annak, hogy még egy alacsonyabb sebességgel rendelkező flash meghajtó is  jobb eredményeket fog produkálni, mint a HDD a játék esetében.

1.b) Természetesen nincs minden háztartásban 16 gigás pendrive, ezért nem mindenki tudja feltelepíteni oda a játékot. Ám gyakoribb a 8gigás pen! 🙂 Három pofonegyszerű lépésben amolyan gyorsítótárként is használhatjuk a flash memóriánkat:

  • A cutscene.mpq kivételével minden fájlt átküldünk a pendrive-ra az MPQ mappából: a pendrive-ra készítsünk egy MQPS nevű mappát és illesszük be az összes MPQ fájlt.
  • Start > keresőbe ‘cmd’ > jobbklikk futtatás rendszergazdaként. Ide gépeljük be: >mklink /J “c:…..diablo3Data_D3pcmpqs” “g:mpqs”
  • Átnevezzük az eredeti mappában az ‘MPQs’ mappát ‘mpqs_original’-ra és a cmd-ben egy újabb parancsot adunk ki: >mklink “g:mpqscutscene.mpq” “c:…..diablo3Data_D3pcmpqs_originalcutscene.mpq”

Természetesen a mappa nevekben lehet eltérés, ezért ajánlott először ellenőrizni az elérési utat.
(A 4 gigás flash meghajtók esetén nem tudom mi a helyzet, talán sakkozni kell velük, vagy többet is fel lehet használni egyszerre.)

2) RAMDISK. Ez a megoldás talán kicsit nagyobb kihívás. Itt gyakorlatilag arról van szó, hogy a számítógépünkben lévő RAM-ot használjuk fel adattárolóként és belemásoljuk az MPQ fájlokat, amiket majd innen fog elérni a játék. Ezt a módszert nem próbáltam, mivel nekem csak 6 giga ramom van (bár állítólag 6-al is meg lehet oldani), ehhez viszont 5-6 giga szabad ramra van szükségünk (8 gigával már bátran neki lehet kezdeni). Egyesek nem tartják biztonságosnak ezt a módszert, hiszen valljuk be, a ramokat nem statikus adatok hosszútávú tárolására tervezték. Ennek ellenére a fórumokon pozitív volt a visszajelzés ez ügyben, sokaknak a ramdisk jelentette a legnagyobb teljesítménybeli javulást. Komplett leírást erről nem teszek itt közzé, hiszen aki arra vállalkozna, hogy a ramjában turkáljon, bizonyára van olyan jó angolból, hogy megértse és kövesse az (egyébként egyszerű) eredeti leírást, ezért nem is szaporítanám vele ezt a cikket.

3) Az SSD-t használó emberek most biztosan amolyan ?WTF? fejet vágva olvashatják a fent leírt problémát, ugyanis őket ez egyáltalán nem érinti: Az SSD gyors, remek a válaszideje is. Jómagam is beszereztem egy SSD-t ezen a héten és mondhatom, hatalmas a teljesítménybeli ugrás. Mikor elindítom a játékot, bármelyik waypointra kattintok, azonnal gurulhatok is tovább, nem kell amiatt kellene izgulnom, hogy talán egy elit pack vár majd a túloldalon. A játékterek betöltése azonnali, nem kell aggódni olyan akadások miatt, mint amilyenek a fenti videóban vannak. Persze SSD-t nem a Diablo III miatt vásároltam, már kb egy éve tervezem a megvételét és most végre olyan árban találtam, ami totál megfizethető. A Rendszer is ezen a meghajtón van és nem okoz semmi gondot a játék futtatásának, ez az SSD-nek meg sem kottyan. Persze ne vegyen senki SSD-t csak egy játék miatt, de akik már korábban is gondolkodtak a beszerzésén és már régen néztek rá az árcédulákra, azoknak ajánlom, hogy nézzenek körül megint ugyanis nagyon jó árakon lehet manapság hozzájutni akár itthon is (némelyik országban még drágábbak bizonyos típusok, mint hazánkban).

x) A következő megoldás ebből a kék posztból fakad, ám annak ellenére, hogy kék, mégsem hozott minden fórumozó számára tökéletes megoldást, ezért csak bónuszként említem meg (minden esetre ártani nem fog, ha kipróbáljátok). A megoldás a C meghajtó indexelésének kikapcsolása:

1. Klikk a Start-ra
2. Klikk a Számítógépre*
3. Jobbklikk a merevlemezre és válaszd a Tulajdonságokat
4. Válasszuk az Általános fület
5. vegyük ki a pipát a  Fájltulajdonságok mellett tartalomindexelés engedélyezése a meghajtón lévő fájlokhoz. (Allow files on this drive to have contents indexed…)**
6. Alkalmaz
7. Válasszuk a “Változtatások alkalmazása csak a(z) C: meghajtóra” (Apply changes to drive C: only)
8. Kattintsunk Ok-ra, és ismét egy Ok

 * = Sajátgép/My Computer Windows XP alatt
** = Indexelő szolgáltatás Indexelésének engedélyezéseAllow Indexing Service to index…  Windows XP alatt

Kisebb akadások/szaggatások/képtörések/fps ugrálás:

 Egyik legnagyobb gondom az volt régen, hogy az fps számláló össze-vissza ugrált. Most sajnos nem működik az in-game fps számláló, de használhatunk például Fraps-et is. Az első és legfontosabb dolog az, hogy a gépünkhöz mérten állítsuk be a játék grafikáját. Erre nincs konkrét recept, kísérletezgetni kell vagy kérdezősködni-olvasgatni, hasonló konfigokkal hogyan állítják be a játékot. Ha nagyjából belőttük a megfelelő értékeket és még mindig úgy érezzük, hogy valami nem stimmel, akkor nem árt a dolgok mögé néznünk.

 A monitor frissítése az egyik legmeghatározóbb dolog: nekem például 60Hz-et tud natív felbontásban, ez azt jelenti, hogy 1920*1080-as felbontásban 60 képkockát tud a monitor frissíteni másodpercenként. Ha több képkockát küld a VGA a monitorra, akkor “törik” a kép, olyan mintha vízszintes vonalak jelennének meg a képernyőn. A képernyő felső 1/3-ad részében a 169-edik képkockát, míg az alsó 2/3-ad részében még csak a 168. képkockát látom egy mozgóképsorozatból, azért úgy érzékelem, hogy törik a kép. Ezt a problémát hivatott kiküszöbölni a V-Sync (Vertical Syncronization) vagy a triple buffering. A V-Sync gyakorlatilag lekorlátozza a képkockák számát, amelyeket a VGA küldhet a monitor felé: esetemben ha bekapcsolom, 60 fps a maximum amennyivel futhat a játék. Triple bufferinget sajnos nem implementáltak a Diablo 3-ba, ezért azt nekünk kívülről kell megoldanunk, ha van rá igényünk. Korábbi patch-ekben nekem úgy tűnt a V-Sync sem működik megfelelően: hiába kapcsolom be, igen gyakran felugrik 120 fps-re a számláló, ám csak pillanatokra, ez mégis elég ahhoz, hogy észrevegyem nincs rendben valami. Néhány lépésben így lehet optimalizálni a beállításokat:

AMD/ATI:

  •  Radeonpro letöltése
  • Profil készítése Diablo 3-hoz a következő értékek beállításával:
  • Advanced > Flip Queue Size 0
  • Triple Buffering 1
  • Force aggressive API detection 1
  • Disable aero, Force Process High priority
  • Játékban V-Sync beállítása (a fent leírtak alapján tessék eldönteni, hogy szükséges-e)
  • Játékban ne legyen bepipálva a  ‘max foreground fps’ és ‘max background fps’
Nvidia:
  • Nvidia control panel-ben a “maximum pre rendered frames” állítsuk 0-ra
  • Játékban V-Sync beállítása (a fent leírtak alapján tessék eldönteni, hogy szükséges-e)
  • Játékban ne legyen bepipálva a  ‘max foreground fps’ és ‘max background fps’

 Ezen beállítások mellett érdemes eljátszogatni az Anti-Aliasing ki-be kapcsolgatásával, a shadows alacsonyabbá vételével. Egyesek szerint a hangbeállításokban a hangminőség is befolyásolja a játék futásának minőségét: állítsuk magasabbra-alacsonyabbra ha nincs különbség, akkor mindegy (én 64 biten használom).

 

Az Online játékokat játszó gémerek legnagyobb ellensége: a Magas Latency.

Ez ellen túl sok mindent nem tehetünk, de széles körben elterjedt egy Leatrix Latency Fix nevű progi, ami a játékszerver felé küldendő  TCP ACK gyakoriságát növeli, magyarul valamivel kisebb lesz a latency-nk.

 

Végszó:
Azt hiszem ezek lennének a legfontosabb dolgok, amiket meg szerettem volna osztani az olvasóinkkal. Akiket még ettől is mélyebben érdekelnek a témák, a forrásként megjelölt topikokban lapozgassatok, sok egyéb érdekességet is meg lehet tudni belőlük! Remélem mindannyian találtok a cikkben hasznos dolgokat, amivel a ti is elértek majd némi teljesítménybeli javulást a Diablo III-ban. Azt pedig ne felejtsétek, hogy érdemes mindig a legfrissebb drivert telepítenetek a videokártyáitokhoz!

forrás: us.battle.net, hdd major stuttering, best performance topik