CLIENT: Ein Rückblick auf 2020 & ein Ausblick auf 2021
Wir haben verkündet, dass wir regelmäßig über den Fortschritt der Arbeiten an der Verbesserung des League-Clients sprechen werden.
Beim heutigen Artikel handelt es sich um den sechsten Beitrag der Reihe. (Hier findest du den ersten, zweiten, dritten, vierten und fünften Beitrag dieser Reihe.)
KURZ UND BÜNDIG: Wir haben das Jahr 2020 damit verbracht, die Ladezeit, die Architektur, die Championauswahl und die Spielzusammenfassung zu verbessern sowie Speicherlöcher/Client-Abstürze und Fehler zu beseitigen. Aktuell befinden wir uns gerade in der Planungsphase für das erste Quartal 2021 und konzentrieren uns hauptsächlich darauf, das Sozialmenü und die allgemeine Stabilität des Clients zu verbessern.
Rückblick auf das Jahr 2020
Unser Team hat gegen Ende des Jahres 2019 seine Arbeit aufgenommen und sich zu Beginn vor allem darauf konzentriert, den Zustand des League-Clients zu verstehen. Als Teil dieses Prozesses haben wir beschlossen, uns auf die Teile des Clients zu konzentrieren, mit denen die Spieler weltweit die meisten Probleme hatten, um so zu ermitteln, wie wir den Client im Allgemeinen verbessern können. Wir haben zwar immer noch jede Menge Arbeit vor uns, dennoch konnten wir den Client im Jahr 2020 stark verbessern.
- Wir haben unsere weltweite Client-Spielerumfrage gestartet, die wir heranziehen, um zu ermitteln, welche Bereiche wir uns ansehen müssen. Die meisten Erfolge, die unten angeführt sind, sind direkt auf das Feedback der Spieler zurückzuführen.
- Wir konnten die Ladezeit des Clients (beim Starten) für 90 Prozent aller Spieler weltweit auf 16 Sekunden verkürzen (von 29,5 Sekunden zu Beginn des Jahres 2020).
- Dieser Erfolg ist vor allem auf unsere Arbeiten an der Architektur zurückzuführen, dank denen wir die Anzahl der Ember-Anwendungen (die zusammen mit dem Client geladen werden) um 63 % und die Anzahl der Plug-Ins innerhalb des Clients um 57 % verringern konnten. Anders gesagt: Wir haben jede Menge Code beseitigt.
- Wir haben die Reaktionsgeschwindigkeit und Zuverlässigkeit beim Auswählen und Bannen von Champions während der Championauswahl verbessert.
- Wir haben Leistungsprobleme beim Durchsuchen der Champions beseitigt und Verbesserungen am Raster der Championauswahl selbst vorgenommen.
- Wir haben die Verwendung bestimmter Funktionen während der Championauswahl untersucht. Worauf wir unten noch genauer eingehen werden.
- Wir haben die Zeit für das Bestätigen und Bannen von Champions verkürzt.
- Wir haben Speicherlöcher während der Championauswahl beseitigt (mehr dazu unten).
- Wir haben dafür gesorgt, dass der Client nicht mehr einfriert und schwarz wird, wenn die Spieler über die Spielzusammenfassung in ihn zurückkehren.
- Wir haben dafür gesorgt, dass der Client während der Spielzusammenfassung nicht mehr auf der Anzeige mit der Schaltfläche „Verbindung wiederherstellen“ hängen bleibt, wenn diese eigentlich gar nicht erscheinen hätte sollen.
- Wir haben im Jahr 2020 175 kleinere und größere Fehler behoben.
- Die Spielernamen werden im Chat nicht mehr als „…“ angezeigt.
- Ab jetzt leuchtet die Taskleiste auf, wenn du eine Nachricht im Chat erhältst.
- Neue Spieler haben Zugriff auf das Sozialmenü.
- Die Einstellungen werden nicht mehr zurückgesetzt, wenn sich der Spieler auf einem anderen Computer anmeldet.
- Die Geschenkbenachrichtigungen werden beim Anmelden nicht mehr wiederholt.
- Die Spieler landen nicht mehr auf einer schwarzen Startseite, wenn sie im Client unterschiedliche Aktionen durchführen.
- Wir haben die Reaktionsgeschwindigkeit der Sammlung und ihrer Unterabschnitte verbessert.
- Wir haben die Ladezeit des Runen-Reiters um 40 % verringert und die Benutzeroberfläche der Runen reaktionsschneller und verlässlicher gemacht.
- Wir haben 30 Speicherlöcher im Client „gestopft“. Da es sich hierbei um einen besonders komplizierten Bereich handelt, den wir erst gegen Ende des Jahrs entdeckt haben, freuen wir uns wirklich sehr, dass wir noch vor den Feiertagen Verbesserungen veröffentlichen konnten.
- Speicherlöcher entstehen, wenn ein Teil des Programms seinen Speicher nicht löscht, nachdem eine Aufgabe abgeschlossen wurde. Dadurch wird der Gesamtspeicher für die anderen Programme, die auf dem System laufen, eingeschränkt. Das ist immer schlecht und die Ursachen für Speicherlöcher sind schwer auszumachen, vor allem bei großen Anwendungen.
- Vor der Veröffentlichung unserer ersten Fehlerbehebungen für das Problem mit den Speicherlöchern mit Patch 10.23 erlebten die Spieler regionsübergreifend 193.000 Abstürze aufgrund von zu wenig Speicherplatz pro Patch. Mit Patch 10.25, dem letzten Patch des Jahres 2020, konnten wir die Häufigkeit dieser Abstürze um 55 % verringern!
Wie bereits erwähnt, haben wir uns am Feedback der Spieler aus der weltweiten Client-Umfrage orientiert, um zu entscheiden, auf welche Bereiche wir uns konzentrieren. Die oben genannten Verbesserungen repräsentieren den Fortschritt in den Bereichen, die den Spielern das größte Kopfzerbrechen bereitet haben. Letztendlich zählt jedoch nur, dass die Spieler auch das Gefühl haben, dass sich die Dinge in die richtige Richtung bewegen. Darum sind wir auch sehr froh, berichten zu können, dass neben den Spielmetriken auch die Umfragen einen eindeutigen positiven Trend zeigen – schließlich bedeutet das, dass immer mehr Spieler immer weniger frustrierende Erfahrungen mit dem Client machen.
… Weniger frustrierende Erfahrungen. Wir haben in diesem Jahr noch jede Menge Arbeit vor uns und wir werden auch weiterhin Updates veröffentlichen.
Kaum genutzte Funktionen der Championauswahl
Wenn du unseren letzten Beitrag gelesen hast, dann weißt du, dass wir aktuell darüber nachdenken, einige kaum genutzte Funktionen der Championauswahl zu entfernen, um die Leistung zu verbessern. Nach der Evaluierung der Favoriten, der Missionen und der Sticker haben wir uns dazu entschieden, keine dieser Funktionen zu entfernen und sie stattdessen zu optimieren. Wir haben bereits ein Problem mit den Stickern behoben und arbeiten momentan daran, sicherzustellen, dass die Favoriten und die Missionen erwartungsgemäß funktionieren.
Was ansteht
Wir arbeiten gerade an der Fertigstellung unserer Planung für das erste Quartal des Jahres, dennoch ist hier bereits ein Ausblick auf die nächsten Projekte:
Sozialmenü
Im Verlauf des letzten Jahres haben wir einen Anstieg der Probleme in Zusammenhang mit dem Sozialmenü gesehen. Im Dezember haben wir ein Problem behoben, durch das der Spielmodus oder der Champion auf der „Visitenkarte“ von Freunden in Spielen nicht angezeigt wurde. Hier ist eine Liste der nächsten Probleme, die wir beheben werden:
- Es kann keine Verbindung zum Sozialmenü hergestellt werden
- Die Freundesliste lädt nicht, der angezeigte Status ist falsch, die Freunde werden nicht angezeigt
- Spieler, deren Freundesliste voll ist, erhalten keine Freundschaftsanfragen mehr
- Die Informationen zu Ranglistenspielen verschwinden von der „Visitenkarte“, wenn sich der Spieler in einem normalen Spiel befindet
- Der Chat beginnt zu ruckeln, wenn Nachrichten schnell hintereinander eingetippt werden
- Die Ordner ordnen sich zwischen Sitzungen neu an
- Die Ordner für LoR und Valorant gehen verloren, wenn das Sozialmenü nach „Gruppenspiele und -server“ sortiert wird
- Bei einem Klick auf „Daten anzeigen“ im Chat-Fenster überlappen sich die Textfelder
- Die Benachrichtigung über eine Freundschaftsanfrage erscheint nur, wenn die Option deaktiviert wurde und umgekehrt
Außerdem werden wir ein altes Javascript-Framework (unten mehr dazu) deaktivieren und das Sozialmenü komplett auf Ember umstellen. Diese Umstellung ist eine gute Gelegenheit, um den Code zu überarbeiten und dafür zu sorgen, dass das Sozialmenü zuverlässiger wird und weniger Fehler aufweist.
Stabilität des Clients
Wir werden uns in Zukunft auf zwei neue Bereiche konzentrieren, um die Stabilität des Clients zu verbessern: Die Abstürze und die Javascript-Fehler, die unterschiedliche Auswirkung haben – wie zum Beispiel Abstürze. Diesmal werden wir uns jedoch nicht auf einen bestimmten Teil des Clients (wie die Championauswahl oder die Ladezeit) konzentrieren, sondern stattdessen am ganzen Client arbeiten. Hier sind die vier Bereiche, denen wir besonders viel Aufmerksamkeit schenken werden:
- Weniger Abstürze: In Patch 10.25 haben Spieler in 16 Riot-Regionen 2,2 Millionen Client-Abstürze miterlebt. Nach unseren ersten Untersuchungen scheint die beste Option für die Behebung der Mehrheit dieser Abstürze in einem Upgrade unserer Chromium-Version zu bestehen. Dabei handelt es sich um den Web-Browser, auf dem die Architektur des League-Clients basiert.
- Weniger Javascript-Fehler: In Patch 10.25 haben die Spieler in 16 Riot-Regionen 36 Millionen Javascript-Fehler miterlebt. Und obwohl nicht alle Javascript-Fehler zu einem Absturz oder einem Leistungseinbruch führen, können sich selbst nicht spürbare Fehler häufen, was wiederum zu größeren Auswirkungen führen kann. Einer Verringerung dieser Zahl wird sich auf den gesamten Client positiv auswirken.
- Die Beseitigung weiterer Speicherlöcher: Für uns war es ein großer Erfolg, einige dieser Löcher im letzten Jahr beseitigen zu können. Und wir wollen in diesem Jahr dort weitermachen, wo wir im letzten aufgehört haben.
- Fortlaufende Arbeiten an der Architektur zur Bereinigung der Codebasis: Um Chromium, wie oben erwähnt, upzugraden, müssen wir einige Vorbereitungsarbeiten durchführen, die die Leistung des Clients ebenfalls verbessern werden. Wir haben geplant, diese Vorbereitungsarbeiten für das Chromium-Upgrade bis zur Mitte des Jahres fertigzustellen.
- Das letzte Upgrade für Chromium erfolgte im Dezember 2019 einige Monate vor dem Beginn unserer Aufräumarbeiten im Client. Dieses Upgrade (Strg+F „Chromium“) hat zu einigen guten Ergebnissen geführt und wir werden vor dem nächsten Upgrade noch einmal ausführlicher darüber sprechen.
Wir freuen uns über das Feedback bezüglich des Clients und können dir versichern, dass wir es uns zu Herzen nehmen! 2020 war ein gutes Jahr für uns und wir werden dieses Momentum nutzen, um den Client weiter zu verbessern!