La începutul anului, ne-am angajat să publicăm actualizări o dată la două luni cu lucrările din culise pentru îmbunătățirea performanțelor clientului League of Legends.
Actualizarea de astăzi este cea de-a treia din serie. (Citiți primul articol aici și al doilea articol aici.)
Pe scurt, progresăm constant spre obiectivul nostru de a curăța codul din spatele clientului. Eliminăm și câteva bug-uri problematice pe parcurs, despre care discutăm mai jos. În ciuda progresului realizat, mai avem multe de făcut. Campania de curățare continuă.
Așa cum am spus în primul articol despre client, credem că cel mai bun mod de a rezolva câteva dintre problemele de performanță din client este să reducem numărul de plugin-uri și aplicații Ember din acesta.
Pentru cei care nu știu, plugin-urile sunt unelte care ne permit să segmentăm codul clientului în bucăți utile. Aplicațiile Ember stau la baza interfeței utilizatorului din client.
Am continuat să facem pași spre atingerea obiectivului. Graficul de mai jos prezintă numărul total de plugin-uri și aplicații Ember de-a lungul timpului.
Dacă vă uitați pe graficul de mai sus, probabil vă întrebați ce impact au aceste elemente asupra performanței clientului. Răspunsul este complicat, dar la un nivel înalt: mai puține plugin-uri și aplicații Ember înseamnă un cod mai eficient. Un cod mai simplu înseamnă performanțe mai bune, dar și un client mai ușor de întreținut de către dezvoltatori.
Unul dintre modurile prin care măsurăm impactul lucrărilor noastre este urmărind timpul necesar pornirii clientului. Mai jos, puteți vedea un grafic care prezintă evoluția în timp a acestei valori:
După cum se poate vedea, duratele secvenței de inițializare au fost în mare parte constante de-a lungul ultimelor luni. De fapt, suntem de părere că acest lucru este un succes moderat, având în vedere riscurile pe care le implică ceea ce facem. Reorganizarea unor bucăți mari de cod și reconfigurarea plugin-urilor ar putea crea probleme neprevăzute dacă nu suntem atenți. Dar până acum nu s-a întâmplat acest lucru.
Suntem încrezători că vom începe să vedem îmbunătățiri ale duratelor secvenței de inițializare de-a lungul următoarelor patch-uri, în special acum că am dezvoltat o soluție nouă care ne permite să specificăm mai inteligent ce plugin-uri se încarcă atunci când porniți clientul. (Citiți cel mai recent articol despre client pentru o discuție mai amănunțită despre acest subiect, în secțiunea denumită ''Problemele cu Affinity''.)
Planul nostru deocamdată este să continuăm lucrările de consolidare cel puțin în următoarele câteva luni. Suntem de părere că există beneficii semnificative pe termen lung prin reducerea numărului de plugin-uri și aplicații Ember. Prin curățarea per ansamblu a mediului de codare, ne va fi mai ușor să eliminăm bug-uri și să rezolvăm irosirile de memorie sau închiderile forțate.
Că tot veni vorba de bug-uri și închideri forțate, hai să discutăm despre câteva eliminări recente.
Echipa care se ocupă de client a profitat de ocazie și a eliminat o grămadă de bug-uri în ultimele câteva luni. Începând cu patch-ul 10.13, veți vedea o secțiune cu eliminări de bug-uri din client în notele patch-ului pentru LoL.
Între timp, iată o listă cu câteva bug-uri din client pe care echipa le-a eliminat de la un patch la altul de la începutul anului:
Cam asta este lista deocamdată! Dacă ați găsit un bug pe care vreți să-l raportați, nu ezitați să ni-l trimiteți prin acest formular. Puteți să trimiteți feedback și dând clic pe butonul ''Raportează un bug'' din colțul din dreapta jos al clientului.
Pe măsură ce lucrăm la client, ne tot punem o întrebare fundamentală: Este clientul LoL la nivelul așteptărilor jucătorilor?
Răspunsul este, bineînțeles, că nu. Nu încă, cel puțin.
Mai avem multe bug-uri de eliminat, închideri forțate de prevenit și probleme de arhitectură complexe de soluționat. Lucrările pe care le-am demarat la începutul anului vor continua până când vom putea răspunde la această întrebare – este clientul LoL la nivelul așteptărilor voastre, jucătorii noștri? – cu un ''da'' răspicat.
Va mai dura până vom ajunge în acel punct, dar vă vom ține la curent pe parcurs. În următoarele câteva patch-uri, intenționăm să reducem numărul de plugin-uri și aplicații Ember, precum și să eliminăm bug-urile care ne sar în ochi. Până când vom publica următorul articol, sperăm să fim gata să intrăm în următoarea fază a campaniei noastre, în care ne vom axa în special pe îmbunătățirea rapidității din selecția campionilor.
Ca întotdeauna, vă mulțumim că jucați și vom reveni cu un alt articol despre client peste două luni.