NCSoft Lineage W verbessert die dauerhafte Leistung und verhindert durch Nutzung von ADPF die Drosselung der Überhitzung

Screenshot von NCSoft Lineage W

NCSoft Lineage W ist ein von NCSoft entwickeltes MMORPG (Massive Multiplayer Online Role-Playing Game). Dieses Spiel übernimmt das Vermächtnis des ursprünglichen Spiels „Lineage W“ und bietet eine Umgebung, in der Spieler auf der ganzen Welt über globale Server kooperieren und gegeneinander antreten können. Lineage W befindet sich in einer einzigartigen mittelalterlichen Fantasy-Welt und bietet Spielern ein tiefes Spielerlebnis mit verschiedenen Klassen, Fähigkeiten und Kampfsystemen.

NCSoft nutzte das Android Dynamic Performance Framework, um die grafische Qualität zu maximieren und gleichzeitig Leistungsprobleme aufgrund von Überhitzungsdrosselung zu verhindern.

Android Dynamic Performance Framework

Das Android Dynamic Performance Framework (ADPF) bietet Informationen zur Ressourcennutzung und hilft Entwicklern, in Echtzeit auf Leistungs-, Wärme- und Nutzersituationen zu reagieren. Sie enthält sowohl die Thermal API als auch die Performance Hint API. Die Thermal APIs bieten Informationen zum thermischen Zustand eines Geräts, während die Performance Hint API Leistungshinweise liefert, die Android bei der Auswahl des optimalen CPU-Betriebspunkts und der optimalen Kernplatzierung unterstützen. Die Thermal APIs liefern Informationen über den thermischen Zustand eines Geräts. Die Performance Hint API hingegen liefert Tipps zur Leistung, die Android bei der Auswahl des optimalen CPU-Betriebspunkts und der optimalen Platzierung von Kernen unterstützen.

Unreal Engine ADPF-Plug-in

Das Unreal Engine ADPF-Plug-in bietet die einfachste Möglichkeit, ADPF in Spielen mit Unreal Engine zu verwenden.

Das Plug-in prüft den Überhitzungszustand des Geräts jede Sekunde. Wenn das Gerät überhitzt, passt das Plug-in die Einstellungen für die Grafikqualität mit den Standardeinstellungen für die unrealistische Skalierbarkeit an. Es gibt vier Stufen, die jeweils verschiedenen Grafikqualitäten zugeordnet sind (Auflösung, Entfernung, Nachbearbeitung usw.).

Wenn Sie bereits In-Game-Einstellungen haben (z. B. „Niedrig“, „Mittel“ und „Hohe Qualität“), die vom Spieler konfiguriert werden können, empfehlen wir, diese Einstellungen anstelle der standardmäßigen Stufen der unrealistischen Skalierbarkeit zu verwenden.

Das Plug-in verwendet zwei Methoden, um die Überhitzung des Geräts zu prüfen: Einerseits wird der Toleranzbereich gemessen, mit der anderen der Status. Der Thermalheadroom bietet detailliertere Informationen und ist standardmäßig aktiviert.

Das Plug-in erstellt die beiden Sitzungen mit Leistungshinweisen für das Spiel und rendert Threads. Er meldet für jeden Frame die Ziel- und die tatsächliche Dauer an das Framework und trägt dazu bei, die Ziel-Frames pro Sekunde (fps) zu erreichen.

So optimierte NCSoft die Leistung

Abbildung 1: In-Game-Video

Lineage W verwendet ADPF, um Leistungsprobleme aufgrund von Temperaturdrosselung zu vermeiden. Das Team versuchte, möglichst viele Einstellungen für die grafische Qualität zu verwenden, die die Leistung erheblich steigern und gleichzeitig die Auswirkungen auf das tatsächliche Spiel minimieren. NCSoft überprüfte die Stabilität und den Betrieb jeder Phase, als die Qualität über den Toleranzwert angepasst wurde. Für jeden angepassten Wert der Grafikqualität waren verschiedene Tests erforderlich, um den Nutzern ein gutes Spielerlebnis zu bieten.

Das Spiel zielt standardmäßig auf 30 fps ab, aber NCSoft hat den Ziel-fps in 60 geändert, um zu testen, wie ADPF seine fps verbessern kann.

Screenshot von NCSoft Lineage W

Während eines 30-minütigen Gameplay-Tests auf Pixel 6 mit Android 13 sank der fps drastisch von 60 fps auf 32 fps. Der Toleranzbereich erreichte bei der 4-Min.-Marke den Grenzwert für starke Überhitzungsdrosselung von 1, 0 f.

Screenshot von NCSoft Lineage W

Als das Spiel das Unreal Engine ADPF-Plug-in mit der standardmäßigen Unreal-Skalierbarkeit verwendete, konnte es 15 Minuten lang 60 fps aufrechterhalten. Die durchschnittliche Framerate in diesen 30 Minuten ist ebenfalls auf 57,5 fps gestiegen. Der Toleranzbereich hatte jedoch ähnliche Werte wie zuvor. Das bedeutet, dass sich das Gerät auf ähnliche Weise erwärmt und eine Temperaturdrosselung erlitten hat.

Screenshot von NCSoft Lineage W

Um dieses Problem anzugehen, entschied sich das Lineage W-Team dafür, ADPF mehr Kontrolle über die Parameter zur Grafikqualität zu geben, um eine Drosselung der Energiezufuhr zu vermeiden. Nachdem das Team die Einstellungen für die In-Game-Grafikqualität von Lineage W mit dem ADPF-Plug-in der Unreal Engine integriert hatte, erzielte es optimale Ergebnisse. Diese Integration führte zu stabilen Framerates von 60 fps, während der Toleranzbereich bei einem Wert von unter 1,0 lag.Dies deutet auf ein effizientes Wärmemanagement hin.

Durch die Verwendung der In-Game-Qualitätseinstellungen von Lineage W mit ADPF konnte NCSoft eine stabilere und angenehmere Nutzererfahrung bieten.

Screenshot von NCSoft Lineage W

Da ADPF nicht vollständig von allen Herstellern von Android-Geräten unterstützt wird, hat NCSoft dies als In-Game-Option „Adaptive Performance Optimization“ implementiert, die Spieler aktivieren können.

Erste Schritte mit dem ADPF- und Unreal Engine-Plug-in

Entwickler, die an der Verwendung von Android Adaptability oder dem ADPF Unreal Engine-Plug-in interessiert sind, sollten Folgendes tun:

  • Weitere Informationen zu ADPF und dem Unreal Engine ADPF-Plug-in
  • Passen Sie Ihre Skalierungsmöglichkeiten an Ihren Spielinhalt an, anstatt die Unreal Engine-Skalierbarkeit zu verwenden.
  • Überwachen Sie die Leistung des Spiels, um sicherzustellen, dass die Erwartungen erfüllt werden. Experimentieren Sie mit verschiedenen Einstellungen, um die beste Leistung zu erzielen und die Temperatur möglichst gering zu halten.
  • Ändern Sie die Einstellungen für die Grafikqualität separat, um einen plötzlichen Leistungsabfall zu reduzieren.

Unabhängig von der verwendeten Engine können Sie die APIs jederzeit direkt verwenden. Weitere Informationen finden Sie unter Android Adaptability und Unreal Engine ADPF Plugin.