január 27

Letöltés címke

DevBlog: HED-GP visszatekintő

Üdvözlet, űrbarátaim, itt a helyi technikai igazgatótok és teljesítmény-elemzőtök beszél. Ahogy azt már néhányan hallottátok, nemrég volt egy ütközet HED-GP rendszerben. Nem ez volt az első alkalom, valószínűleg nem is az utolsó, de a legutóbbi közepesen óriásinak számított és a szerver teljesítménye nem volt valami szép. Ma arról szeretnék beszélni, hogy mi volt ennek a technikai háttere.

Ahogy arra már sokan rámutattak, a nem is oly’ távoli múltban volt egy, a HED-belihez hasonló léptékű ütközet: a július 28-i 6VDT csata. Akkor a szerver-teljesítmény határozottan jobb volt, mint a HED-csata alatt. Szeretnék számot mondani az összehasonlításhoz, de előtte el kell magyaráznom, hogy mi is az a szám.

A szerver terheltségéről három számmal szoktunk beszélni. Az esetek túlnyomó részében csak elég ránézni a node CPU-kihasználtságára, ez általában 80% alatti, amikor minden működik rendesen. Ezen túllépve a szerver kezd túlterhelődni és színre lép a Time Dialation, tehát ennek a mértékét kezdjük követni. Ha a csata elhúzódik, akkor el lehet érni a végső 10%-os TiDi határt. Ez a határ azért van, hogy valamiféle megoldást biztososítson a harc végére, mégha az egyik oldal csak elwarpolgat. Természetesen a játékosok a 10%-os TiDi-nél nagyobb terhelést is előidézhetnek, ezért kell egy szám arra, ami megmutatja, hogy mennyire rossz a helyzet.

Szerencsére van ilyen, még a TiDi előtti időkből — az, hogy mennyire késik a process, ami a modul aktivációt/ismétlést számolja, ennek Dogma Késés a neve. A “Dogma” a modulkezelő rendszer, a “Késés” pedig valami esemély késését fejezi ki. Igazán ötletes elnevezés, nem igaz? Akárhogy is, úgy gondolom, hogy ez az a szám, ami legjobban rámutat a túlterhelés játékosokra rótt hatására. Túlmegy azon, hogy mennyire nem válaszképes a szerver és kifejezi a játék normál folyatása előtt még feldolgozandó terhet is.

Nos, a lényegre térve: 6VDT-ben a Dogma-késés 42 szimulációs-másodpercben (simsec) tetőzött. Mivel a rendszer 10%-os TiDi-ben volt, ez 7 valós percet jelentett. HED-GP-ben viszont 193 simsec volt a plafon, vagyis 32 valós perc. Ez, érthető módon, elég nagy élménybeli különbséget jelentett.

Dogma_Lateness_Comparison

Mi okozta a különbséget? Nos, amíg nem futtatjuk a saját teljesítmény-elemző eszközeinket egy ilyen léptékű terhelés alatt, addig nem lehetünk teljesen biztosak az okokban, de azért van egy-két elépzelésünk. Ezek pedig a nagyobb drón-használat és az elhúzódó csata. A csata hosszának hatása elég tisztán látszik, a két ütközet hasonlóan zajlott az első pár órában, de aztán 6VDT lecsillapodott, míg HED-GP-ben egyre csak növekedett és a terhelés felhalmozódott.

Viszont a drónok számának hatása magyarázatot kíván. Nehéz a logokból kideríteni, hogy pontosan hány aktív drón volt egy adott pillanatban, de közeli becslésként összeszedtük, hogy mennyi drónt eresztettek ki, és mennyi egyedi drón került be a csaták idején a rendszerekbe. 6VDT-be 21123 egyedi drón került, míg HED-be 38852. Az osztással hadilábon állók számára: ez 84%-os növekedés. Ez a szám valószínűleg nem jelent egy adott időben 84%-al megnőtt drónszámot a csatatéren, főleg a megnőtt időtartamot figyelembe véve. Azonban így is jelentősen nagyobb drónhasználatot mutat HED-ben.

Ez miért probléma? Nos, a drónok nyilvánvalóan több dologra képesek, mint az ágyúk — az ágyú csak lő, míg a drón repked, orbitál, lő, visszajön, és mindeközben magától hoz néhány döntést. Igen, még a sentry drónok is, ők csak nagyon-nagyon lassan mozognak. Így remélhetőleg nem túl nagy újság, hogy egy dróntámadás sokkal több, mint egy ágyú-találat. Az összkép még borúsabb, miután számba vettük a skálázási-probléma második részét — nevezetesen, hogy mennyi kliens látja az eseményt, és mennyit kell arról értesíteni.

Ez az egyk skálázási határa a nagy flotta-csatáknak, az elkerülhetetlen O(n2)-szituáció, ahol n ember tesz valami olyat, amiről n embert kell értesíteni. Ez persze probléma az ágyúknál is, de a drónok esetében kétféleképpen növekszik. Az első egyszerűen annyi, hogy több üzenetük van, szóval ahogy az n2 nagyobb lesz, a drónok hozzájárulása gyorsabban nő. A másik ok pedig az, hogy a drónok döntéshozó-kódja rosszul skálázódik, gyakran számba veszi az összes támadható objektumot egy gridben, mikor azon gondolkozik, hogy kire is lőjjön. Ismételten n2 -szerű probléma, n drón számba vesz (n + hajók száma) célpontot.

Ezek megoldható problémák. A nemrég megfiatalított teljesítmény-szemléletű gameplay engine csapatunk – Team Gridlock – már tárgyal a design csapattal arról, hogy mik a céljaik a drónokkal kapcsolatban, és hogyan is tudnák azokat életképes és érdekes fegyverrendszerré tenni, mind a játékosk, mind a Tranquility-t meghajtó hörcsögök számára. Jelen pillantaban még nem tiszta, hogy pontosan hogyan fog beleilleni a már meglévő Dogma-fejlesztésbe a drónokat érintő rész. Ezek elsőbbsége nagyban függ a drónos flották jövőbeli népszerűségétől, aminek növekedésére számítunk, márcsak a közeledő balance-változások és egyéb design-beli változások miatt is. A kép azután fog tisztulni, mihelyt látjunk ezen erőfeszítések eredményét.

~CCP Veritas

Eredeti cikk.

(fordítás: lewyurs)

Advertisements