Qualche mese fa, ci siamo impegnati a pubblicare aggiornamenti bimestrali sullo stato dei lavori di miglioramento delle prestazioni del client di League of Legends.
Quello di oggi è il terzo post di questa serie. (Potete trovare il primo blog qui e il secondo qui).
In breve: stiamo facendo progressi costanti verso l'obiettivo di ripulire il codice su cui si basa il client. Nel farlo, abbiamo anche risolto alcuni bug, che sono elencati più in basso. Nonostante i progressi, resta ancora molto lavoro da fare. La campagna di pulizia continua.
Come abbiamo detto nel primo blog, crediamo che il modo migliore per risolvere alcuni dei problemi di prestazioni del client sia consolidare e ridurre il numero di plugin e di applicazioni Ember al suo interno.
Per chi non lo sapesse, i plugin sono strumenti che ci permettono di dividere il codice del client in blocchi più maneggevoli. Le applicazioni Ember, invece, aiutano a gestire la sua interfaccia utente.
Stiamo continuando a fare progressi per raggiungere questo obiettivo. Il grafico qui sotto mostra la variazione nel tempo del numero totale di plugin e di applicazioni Ember presenti nel client.
Se state leggendo il grafico qui sopra, probabilmente vi starete chiedendo: in che modo tutto questo ha un impatto sulle prestazioni del client? La risposta è complessa, ma per farla breve, avere un minor numero di plugin e applicazioni Ember porta una maggiore efficienza nel codice del client. Un codice più snello comporta prestazioni migliori e rende il client più facile da gestire per gli sviluppatori.
Uno dei modi in cui abbiamo misurato l'effetto del nostro lavoro è registrando il tempo che impiega il client ad avviarsi. Qui sotto, potete vedere un grafico che mostra l'andamento nel tempo di questo parametro:
Come potete vedere, i tempi di avvio sono rimasti per lo più costanti nel corso degli ultimi mesi. Consideriamo questo risultato un discreto successo, visti i rischi relativi al tipo di lavoro che stiamo facendo. Se non facciamo attenzione, spostare grosse porzioni di codice e sistemare i plugin potrebbe causare dei problemi imprevisti, ma per ora non sembra essere successo.
Ci auguriamo di cominciare a vedere miglioramenti più significativi ai tempi di avvio nel corso delle prossime patch, in particolare ora che abbiamo sviluppato una nuova soluzione che ci permette di specificare in modo più accurato quali plugin caricare quando viene avviato il client. (Se volete leggere una discussione più approfondita su questo argomento, date un'occhiata al blog sul client più recente, nella sezione "Il problema di Affinity".)
Per ora, il nostro programma è di continuare l'opera di consolidamento almeno per i prossimi due mesi, poiché riteniamo che ridurre il numero di plugin e di applicazioni Ember possa portare benefici di lungo termine: ripulire il codice nel suo complesso rende più facile la risoluzione di bug, di perdite di memoria e di blocchi del client.
A proposito di bug e blocchi, parliamo un po' di quelli che abbiamo risolto ultimamente.
Negli ultimi mesi, il team del client ha colto l'occasione per risolvere moltissimi bug. A cominciare dalla patch 10.13, vedrete l'elenco dei bug del client risolti in una sezione a parte delle note sulla patch di LoL.
Nel frattempo, ecco una lista di alcuni dei bug del client che il team ha risolto dall'inizio dell'anno, divisi per patch:
Questa è la lista, per ora! Se avete trovato un bug e volete segnalarlo, non esitate a farlo tramite questo modulo. Potete anche inviare un feedback cliccando sul pulsante "bug" nell'angolo in basso a destra del client.
Durante i lavori per migliorare il client, ci facciamo sempre una domanda fondamentale: il client di LoL è all'altezza dei nostri giocatori?
La risposta, ovviamente, è no. Non ancora, almeno.
Ci sono ancora molti altri bug da risolvere, blocchi da impedire e problemi di architettura da correggere. Il lavoro che abbiamo iniziato qualche mese fa continuerà finché la risposta alla domanda "il client di LoL è all'altezza dei nostri giocatori?" non sia un netto "sì".
Ci vorrà ancora del tempo per raggiungere questo obiettivo, ma vi terremo aggiornati lungo il percorso. Nel corso delle prossime patch, abbiamo intenzione di continuare con il consolidamento dei plugin e delle applicazioni Ember, oltre a risolvere i bug che incontreremo. Quando vi daremo il prossimo aggiornamento, ci auguriamo di essere pronti a entrare in una nuova fase della campagna, in cui ci potremo concentrare nello specifico sul miglioramento della reattività della Selezione del campione.
Come sempre, grazie per il vostro interesse, torneremo con un altro blog sul client tra un paio di mesi.