Unity: Instruments hilft bei der Suche nach iOS-Performanceproblemen

Unity hat am 1. Februar 2016 einen technischen Leitfaden zum Profiling von iOS-Spielen veröffentlicht. Der offizielle Beitrag zeigt, wie sich CPU-Hotspots in einem Unity-Build mit Apples Instruments aufspüren lassen.

Dafür wird das Unity-Projekt zunächst auf das iOS-Buildziel gestellt. Unity empfiehlt, Development Build und Script Debugging für diesen Ablauf nicht zu aktivieren. Das erzeugte Xcode-Projekt wird anschließend im Release-Modus kompiliert und auf einem angeschlossenen iOS-Gerät gestartet.

Time Profiler macht CPU-Hotspots sichtbar

In Instruments dient der Time Profiler als erster Anlaufpunkt. Nach der Auswahl der Anwendung beginnt die Aufzeichnung mit dem Record-Knopf. Die Auswertung zeigt die Aufrufe nach Threads und führt bei Unity unter anderem über PlayerLoop und UnityLoadApplication. Mit den Optionen Flatten Recursion und Hide System Libraries wird der Aufrufbaum übersichtlicher. Eine frühere Unity-Analyse behandelte bereits die Auswirkungen unnötiger Aufrufe auf die Spiellogik.

Der Leitfaden empfiehlt, im Aufrufbaum nach deutlichen Zeitanteilen zu suchen und die betroffene Stelle anschließend im eigenen Code zu prüfen. Als typische Prüfstellen nennt Unity unter anderem Boxing in C#, String-Verkettungen, wiederholte Array-Erzeugung durch CreateScriptingArray, Reflection, FindObjectOfType und LINQ-Abfragen. Instruments kann neben der CPU-Zeit auch Speicher untersuchen. Die Probe Allocations zeigt belegte Objekte, während VM Tracker den verschmutzten Speicherbereich beobachtet, der für iOS bei der Entscheidung über eine erzwungene Beendigung wichtig ist.

Weitere News

Weitere News

Kommentieren Sie den Artikel

Bitte geben Sie Ihren Kommentar ein!
Bitte geben Sie hier Ihren Namen ein