/dev
Continuăm curățarea clientului

Cel mai recent articol detaliază progresul pe care l-am făcut pentru îmbunătățirea clientului LoL.

/devAutoriRiot Cactopus, Riot Sparango, Riot Id, Riot A Huevo
  • Copiat în clipboard

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ă.

PROGRESUL RECENT

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.

Architecture-Stats-rum.jpg

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:

Loading-Screen-Render-rum.jpg

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.

ELIMINĂRI RECENTE DE BUG-URI

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:

  • 10.1 – Poziția clientului nu se mai resetează după ce terminați un meci.
  • 10.1 – Am eliminat o problemă din cauza căreia, uneori, dispărea logo-ul LoL din dreptul butonului ''Joacă''.
  • 10.1 – [MAC] Am eliminat o problemă din cauza căreia, uneori, clientul se închidea forțat când se restabilea conexiunea la internet după ce fusese deconectat timp de mai mult de un minut.
  • 10.1 – Modificările pentru fundalul profilului le sunt acum afișate corespunzător altor jucători.
  • 10.3 – Clicurile pe linkuri cu butonul din mijloc al mouse-ului nu mai blochează clientul.
  • 10.3 – Iconița magazinului este acum evidențiată corespunzător când este selectată după folosirea unui cufăr hextech în Atelier.
  • 10.3 – Sortarea ''Colecției'' nu se mai resetează în mod implicit de la Z la A atunci când schimbați filtrele de sortare.
  • 10.3 – Sortarea după ''Praguri atinse'' în ''Colecție'' funcționează acum corespunzător.
  • 10.4 – Am eliminat o problemă din cauza căreia panoul social și fereastra de chat se blocau în selecția campionilor, dacă erau efectuate anumite acțiuni (dacă eliminați un prieten, dacă un jucător vă ștergea din lista de prieteni, dacă un jucător vă bloca).
  • 10.4 – Campionii pot fi acum căutați din nou folosind ortografii alternative în ''Colecție''.
  • 10.4 – Căutarea campionilor în ''Colecție'' nu mai ține cont de scrierea cu majuscule.
  • 10.4 – Sortarea campionilor în ''Colecție'' în ordine alfabetică este acum precisă.
  • 10.4 – Clientul nu mai afișează un ecran negru după ce dați clic pe ''Joacă din nou'' dacă ați intrat în meci în timp ce vizualizați ofertele personalizate.
  • 10.5 – Am eliminat o bară de scroll inutilă din partea de jos a paginii cu campioni din ''Colecție''.
  • 10.7 – Am eliminat o problemă din cauza căreia butonul ''Trimite o cerere de prietenie'' devenea nefuncțional în lobby-urile personalizate.
  • 10.7 – Ecranul cu informații ''Vezi programul'' nu mai apare încețoșat atunci când vizualizați turneele viitoare în portalul Clash.
  • 10.8 – Când ieșiți din tab-ul cu animații și aveți modificări nesalvate, fereastra de salvare va apărea acum așa cum trebuie.
  • 10.8 – Când un jucător iese din ecranul de la sfârșitul jocului, nu va mai fi redirecționat spre pagina ''Profil''.
  • 10.8 – Iconițele de invocator sunt afișate acum corect când vă conectați la client.
  • 10.9 – Am eliminat o problemă din cauza căreia iconița de invocator minion albastru luptător nu putea fi selectată.
  • 10.9 – Jucătorii nu mai primesc mesajul greșit de eroare când încearcă să se conecteze în timp ce LoL este indisponibil din cauza lucrărilor de întreținere.
  • 10.9 – Am eliminat o problemă din cauza căreia numele jucătorilor blocați nu erau vizibile în lista jucătorilor blocați.
  • 10.9 – Am eliminat diverse probleme legate de irosirile de memorie cauzate de o versiune mai veche a Ember.
  • 10.10 – Am eliminat un bug din cauza căruia paginile de rune păreau să lipsească sau să fi fost șterse după conectare.
  • 10.10 – Acum paginile de rune se închid automat când dați clic pe butonul ''Joacă''.
  • 10.10 – Rearanjarea paginilor de rune nu mai creează pagini de rune duplicat și nu mai cauzează închideri forțate.
  • 10.10 – Am eliminat o problemă din cauza căreia anumiți jucători nu puteau edita paginile de rune.
  • 10.11 – Setările ''Activează modul pentru calculatoare slabe'' și ''Închide clientul în timpul jocului'' sunt acum salvate corespunzător atunci când fereastra de setări este închisă.
  • 10.11 – Am eliminat o problemă din cauza căreia butonul ''Raritate skin'' din ''Colecție'' devenea parțial gol.
  • 10.11 – Am eliminat o problemă din cauza căreia jucătorii nu puteau intra uneori în modul spectator.
  • 10.12 – Am eliminat câteva probleme legate de funcționalitatea paginilor de rune din selecția campionilor.


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.

PAȘII URMĂTORI

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.

Tag-uri:



  • Copiat în clipboard

Legături
Legături