Realm Royale Szerver Teljesítmény

    0
    98
    views
    5/5 (2)

    Mióta a Realm Royale elindult Steamen, a fejlesztőink a szerver teljesítményén dolgoznak. A lagok és akadások elfogadhatatlanok voltak a játékban, így átmenetileg meg kellett húznunk a játékosok számának határát 85-nél. Amíg folytatjuk a munkálatainkat további a fejlesztéseken, a 0.4-es patch Július 2-án jelentős előrelépést ért el, és eltüntette az akadások túlnyomó többségét.

    Háttér

    A szervereink ideális 24 Hz-es frame raten futnak, amit megfelelőnek találunk a zavartalan játékhoz. A kezdetektől a Realm csak olyan kiszolgáló hardvereket használt, amiben nagyon késői modellel rendelkező processzor segítették elérni a célt.

    A Hirez 2010 óta nagymértékben módosította az Unreal Engine-t a jobb teljesítmény érdekében. A munkálataink több részből álltak: többszálú hálózat a processzor legjobb kapacitásának elérése, nagyobb fizikai fejlesztések, relevancia alapú ellenőrzés optimalizálása és másolatok optimalizálása.  

    Ezek a módosítások elsősorban olyan többjátékos meccsek optimalizálására épült, ahol több, mint 32 játékos van egy meccsben, így nem felelt meg a korábbi játékainkhoz.

    Amint elkezdtük a munkálatokat tavaly, hogy egy 100 játékosból álló Battle Royale játékot készítsünk, rájöttünk, hogy további jelentős optimalizálásokra van szükség. A játékhálózat nem lineáris arányban van a játékosokkal, tehát 10 helyett 100 játékosnál nem 10-szeres a processzorhasználat, hanem több, mint 30-40-szeres. Ez a nehézség többszálas processzorhasználatot és kapcsolódó optimalizációkat jelentett.

    Fejlesztések a 0.4-es patch-ben

    Habár a teljesítménynövelést folyamatosan végeztük, jelentős változtatásokat hajtottunk végre a 0.4-ben, ami nagy előnyökkel járt. Átdolgoztuk a lövedékek relevanciáját és vonalvezetését, mivel ezek nagy részét képezik a Realm Royale-nak, de jelentős processzor terheléssel is jár. További lépéseket tettünk feldolgozási folyamat/memória használat egyensúlyban lévő használatára. A szervereinket a feldolgozási idő határozza meg, nem a memória. Példának okáért ez a helyettesítés csökkenti a tárgyak eltörlését, ami a meccs után marad, például a köd által elpusztított loot box-okból. Ez így jobb, hogy a memória használatban van a meccs végéig, ahelyett, hogy a feldolgozási időt terhelné a tárgyak eltakarítása. Továbbá néhány nagyon mély profilt futtatunk a futó meccseken, hogy megtaláljuk azokat a játékterületeket, amik jelentős időt igényelnek, és optimalizáljuk az ezekhez kapcsolódó útvonalakat.

    Most kísérletezünk a 0.4-ben a 90 és 100 fős meccsekkel és folytatjuk a szerverek fejlesztéseihez kapcsolódó potenciális vizsgálatainkat.

    Adatok

    0.3 Verzió

    0.4 Verzió

    Szerver tick ráta a meccsek elején

    15-20 FPS

    23-24 FPS

    Nagyon kis akadások (ami szinte észrevehetetlen)

    Átlagosan 71 / meccs

    Átlagosan 40 / meccs

    Jelentősebb akadások

    Átlagosan 5 / meccs

    Átlagosan 1 / meccs

    Borzasztóan nagy akadások

    Átlagosan 3 / meccs

    Átlagosan 0.25 / meccs

    Grafikon

    Az alábbi grafikon mutatja a szerver visszajelzés idejét reprezentatív meccsre vonatkoztatva. 41 milliszekundum a cél, amikor már nem jelentkeznek problémák. Láthatod, hogy a kék adatok egy tipikus 0.3-as meccset ábrázolnak a kezdeti percektől, ahol állandó lagok és hatalmas akadások voltak. A piros adat, vagyis a 0.4 mutatja a nagy fejlesztéseket. Az időszakos 30 másodpercenkénti kisebb akadások a szemét összegyűjtése, amit igyekszünk továbbra is optimalizálni.

    Kérlek értékeld