A legújabb blogbejegyzésünkben beszámolunk arról, hol tartunk a LoL-kliens rendbetételével.
Korábban megígértük, hogy kéthavonta beszámolunk arról, hol tartanak a League of Legends-kliens továbbfejlesztésének háttérben folyó műveletei.
A mai bejegyzés e sorozat harmadik része. (Az első rész itt, a második pedig itt olvasható.)
Röviden: Rendszeresen beszámolunk arról, hogyan állunk a klienst működtető kód rendbeszedésével. Eközben több programhibát is ki tudunk javítani, és ezeket is ismertetjük a bejegyzésben. Az elért eredmények ellenére még maradt tennivaló. Folytatódik a kliens rendbeszedése.
Ahogy a klienssel foglalkozó első blogbejegyzésünkben is megírtuk, a kliens teljesítményproblémáit szerintünk úgy lehet megoldani, hogy egyesítjük a lehető legtöbb beépülő modult és Ember-alkalmazást, ezzel csökkentve a számukat.
Azok kedvéért, akik nem járatosak a témában: a beépülő modulok olyan eszközök, amelyek a kliens kódját kezelhető méretű részekre bontják. Az Ember-alkalmazások a kliens felhasználói felületét segítenek működtetni.
További eredményeket értünk el e téren. Az alábbi grafikonon láthatjátok a beépülő modulok és az Ember-alkalmazások számának alakulását.
A grafikont nézegetve nyilván az a kérdés motoszkál bennetek, hogy ez mind szép és jó, de hogyan hat mindez a kliens teljesítményére? A válasz elég bonyolult, de nagy általánosságban elmondható, hogy a kevesebb beépülő modul és Ember-alkalmazás hatékonyabb klienskódot eredményez. Az egyszerűbb kód jobb teljesítményt jelent, és a kliens karbantartása is egyszerűbbé válik.
A munkánk eredményességének egyik mércéje az lett, hogy mennyi időt vesz igénybe a kliens elindítása. Az alábbi grafikon mutatja be, hogyan alakult ez az érték az elmúlt időszakban:
Mint láthatjátok, az indítási idő nagyrészt stagnált az elmúlt hónapokban. Ezt alapvetően sikerként értékeljük annak fényében, hogy milyen kockázatokat rejt magában az efféle munka. A jelentős mennyiségű kód áthelyezése és a beépülő modulok átírása váratlan következményekkel járhat, ha nem vagyunk óvatosak… de eddig sikerült elkerülni ezeket.
Reményeink szerint az indítási időben érezhető javulás következik be a következő néhány frissítés során, mivel kifejlesztettünk egy új megoldást, amely lehetővé teszi, hogy a rendszer intelligens módon kiválassza, melyik beépülő modult kell betölteni a kliens indítása során. (A legutóbbi blogbejegyzésben bővebben foglalkoztunk a témával, a „Mi a baj az Affinityvel?” című részben.)
A következő hónapokban is folytatjuk az összevonási folyamatot, és reményeink szerint hosszú távú előnyökkel kecsegtet a beépülő modulok és az Ember-alkalmazások számának csökkentése. A letisztultabb kódkörnyezet egyszerűsíti a hibák, a memóriavesztés és az összeomlások elhárítását.
Apropó programhibák és összeomlások: ejtsünk szót néhány nemrég javított hibáról.
A kliensen dolgozó csapat rengeteg hibát szüntetett meg az elmúlt hónapokban végzett munka során. A 10.13-as frissítéstől kezdve a kliens hibajavításai saját szakaszt kapnak a LoL frissítési jegyzeteiben.
Addig is itt egy lista a kliensben az év eleje óta kijavított hibákról, frissítésekre lebontva:
Egyelőre ennyi! Ha találsz egy hibát, sokat segíthet, ha küldesz róla egy hibajegyet ezzel az űrlappal. Visszajelzéseket a kliens jobb alsó sarkában található Hibajelentés gombra kattintva is küldhetsz.
A kliensen dolgozva van egy visszatérő kérdésünk: Elég jó a kliens a játékosaink számára?
A válasz egyelőre nemleges. Még nem.
Rengeteg kiirtandó hiba, megoldandó összeomlás és az architektúrában rejtőző gond maradt. Amíg nem tudunk egyértelmű igen választ adni a fenti kérdésre, a munka folytatódik.
Időbe kerül, amíg eljutunk erre a pontra, de rendszeresen beszámolunk arról, hogyan állunk. A következő néhány frissítésben folytatódik a beépülő modulok és az Ember-alkalmazások egyesítése és az utunkba kerülő programhibák javítása. A következő helyzetjelentés idejére reményeink szerint készen állunk majd a következő szakaszra, amelyben kifejezetten a hősválasztó képernyő válaszidejének csökkentése lesz a cél.
Mint mindig, ezúttal is köszönjük, hogy velünk tartottatok! Pár hónap múlva újra jelentkezünk a klienssel kapcsolatos hírekkel.