Na začátku roku jsme si dali závazek, že vám budeme ob měsíc přinášet novinky o zákulisní práci, kterou provádíme v rámci snahy vylepšit výkon klienta League of Legends.
Dnešní článek je třetím dílem série. (Přečtěte si první článek zde a druhý článek zde.)
Ve zkratce: Stabilně pokračujeme v naší snaze vyčistit kód, který klienta pohání. Rovněž přitom odchytáváme otravné mušky, jak píšeme níže. Navzdory pokroku však zůstává spousta práce. Kampaň Úklid pokračuje.
Jak jsme řekli v prvním článku o klientu, domníváme se, že nejlepší způsob, jak vyřešit problémy s výkonem klienta, je konsolidovat a redukovat počet zásuvných modulů a aplikací Ember v klientu.
Pokud to nevíte, zásuvné moduly jsou nástroje, které nám umožní rozložit kód klienta na užitečné kousky. Aplikace Ember pomáhají řídit uživatelské rozhraní klienta.
I nadále děláme pokroky vůči tomuto cíli. Tabulka níže ukazuje celkový počet zásuvných modulů a aplikací Ember v průběhu času.
Když se díváte na tu tabulku nahoře, nejspíš si říkáte: „OK, ale jaký přesně to má vliv na výkon klienta?“ Odpověď je složitá, ale obecně řečeno: menší počet zásuvných modulů a aplikací Ember znamená efektivnější kód klienta. Štíhlejší kód znamená lepší výkon a rovněž vede ke klientovi, který se vývojářům snáze udržuje.
Jedním ze způsobů měření dopadu naší práce je sledovat čas, než klient naběhne. Níže vidíte tabulku, která ukazuje, jak tato metrika vypadá postupem času:
Jak vidíte, doba nabíhání se posledních pár měsíců drží na převážně stabilní úrovni. Tohle vlastně bereme jako středně dobrý úspěch – vzhledem k rizikům, která s sebou naše práce nese. Přesouvání velkých částí kódu a přepojování zásuvných modulů může způsobit nečekané potíže, když nebudeme opatrní – ale zatím se to podle všeho neděje.
Doufáme, že během několika dalších aktualizací zaznamenáme větší zlepšení doby nabíhání – zejména teď, když jsme vyvinuli nové řešení, díky kterému můžeme inteligentněji konkretizovat, které zásuvné moduly se načítají, kdykoliv klienta spustíte. (V posledním článku jsme toto téma rozebírali do hloubky, v sekci s názvem „Problém s příslušností“.)
Nyní máme v plánu pokračovat v konsolidační práci ještě aspoň pár měsíců, neboť se domníváme, že snížení počtu zásuvných modulů a aplikací Ember přinese významné dlouhodobé bonusy – když vyčistíme celkové prostředí kódu, bude snazší řešit chyby, únik paměti a pády.
Když už mluvíme o chybách a pádech, pojďme se podívat na pár nedávno vydaných oprav.
Tým klienta během posledních několika měsíců příležitostně řešil spoustu chyb. Počínaje aktualizací 10.13 uvidíte opravy chyb v klientu ve vlastní sekci v poznámkách k aktualizaci LoL.
Zde je mezitím seznam několika chyb v klientu, které tým v jednotlivých aktualizacích od začátku roku vyřešil:
To je prozatímní seznam! Pokud jste našli chybu, kterou chcete nahlásit, můžete to udělat pomocí tohoto formuláře. Zpětnou vazbu můžete odeslat i kliknutím na tlačítko „brouka“ v pravém dolním rohu klienta.
Zatímco na klientu pracujeme, pokládáme si jednu základní otázku: Je klient LoL hoden našich hráčů?
Odpověď samozřejmě zní, že není. Tedy aspoň ne zatím.
Ještě musíme vyřešit spoustu dalších chyb, zabránit pádům a odstranit problémy s hloubkovou architekturou. Práce, kterou jsme počátkem roku začali, bude pokračovat, dokud odpověď na tu otázku – Je klient hoden vás, našich hráčů – nebude jasně znít „ano“.
Než se tam dostaneme, nějaký čas to zabere a my vás budeme postupně informovat. Během následujících několika aktualizací hodláme konsolidovat zásuvné moduly a aplikace Ember a zároveň likvidovat chyby, na které narazíme. Než vám přineseme další novinky, doufáme, že budeme připraveni zahájit další fázi naší kampaně, kde se zaměříme konkrétně na vylepšení reaktivity výběru šampionů.
Jako vždycky děkujeme, že hrajete, a další článek vám přineseme za pár měsíců.