Tools für Profilerstellung und Debugging
Jeder Spieleentwickler weiß, dass eine reibungslose Leistung für die Schaffung eines immersiven Spielerlebnisses unabdingbar ist – und um dies zu erreichen, müssen Sie Ihr Spiel profilieren.
Erhalten Sie einen Überblick über die Profilerstellungs- und Debugging-Tools, die mit Unity und für Zielplattformen verfügbar sind.
Die hier aufgeführten Informationen sind ein Auszug aus dem E-Book „ Ultimativer Leitfaden zur Profilerstellung für Unity-Spiele“, das kostenlos heruntergeladen werden kann. Das E-Book wurde von externen und internen Unity-Experten für Spieleentwicklung, Profilerstellung und Optimierung erstellt.
Beim Profiling handelt es sich um Detektivarbeit. Sie müssen das Geheimnis lüften, warum die Leistung Ihrer Anwendung nachlässt oder warum der Code zu viel Speicher belegt. Sie erzielen die größten Vorteile der Profilerstellung, wenn Sie Ihre Planung bereits in einem frühen Stadium des Entwicklungszyklus Ihres Projekts durchführen. Es handelt sich um einen fortlaufenden, proaktiven und iterativen Prozess. Durch eine frühzeitige und häufige Profilerstellung (und nicht erst kurz vor der Auslieferung des Spiels) können Sie und Ihr Team eine „Leistungssignatur“ für das Projekt verstehen und festlegen. Wenn beispielsweise die Leistung rapide nachlässt, können Sie problemlos erkennen, wenn etwas schief läuft, und das Problem schnell beheben.
Die genauesten Profilierungsergebnisse werden durch das Ausführen und Profilieren von Builds auf Zielgeräten sowie durch die Verwendung plattformspezifischer Tools zum Untersuchen der Hardwareeigenschaften jeder Zielplattform erzielt.
Unity wird mit einer Reihe kostenloser und leistungsstarker Profilerstellungs-Tools ausgeliefert, mit denen Sie Ihren Code sowohl im Editor als auch auf der Hardware analysieren und optimieren können. Darüber hinaus gibt es mehrere großartige native Profiling-Tools, die für die jeweilige Zielplattform entwickelt wurden, wie sie beispielsweise von Arm, Apple, Sony und Microsoft erhältlich sind. Die Kombination beider Verfahren bietet einen umfassenderen Überblick über die Anwendungsleistung auf allen Zielgeräten.
Die Profiling-Tools von Unity sind im Editor und im Paket-Managerverfügbar. Jedes Tool ist auf die Profilierung verschiedener Teile Ihres Projekts spezialisiert:
- Mit dem Unity Profiler können Sie die Projektleistung messen und erkennen, welche Prozesse Probleme verursachen könnten. Der Profiler sammelt und zeigt Daten an, beispielsweise wie viel CPU-Zeit für verschiedene Aufgaben verwendet wird, von Audio und Physik bis hin zu Rendering und Animation. Es misst die Leistung des Unity-Editors, Ihrer Anwendung im Wiedergabemodus, und stellt eine Verbindung zu dem Gerät her, auf dem Ihre Anwendung im Entwicklungsmodus ausgeführt wird. Verwenden Sie dieses wichtige Tool, um mit der Profilerstellung zu beginnen. Schauen Sie sich zunächst diesen Kurs zum Thema Profilerstellung an.
- Der Memory Profiler bietet eine detaillierte Analyse der Speicherleistung. Durch die Reduzierung der Speichernutzung können Sie Abstürze vermeiden, die Ladezeit verkürzen und Ihr Projekt mit älteren Geräten kompatibel machen. Der Memory Profiler befindet sich derzeit in der Vorschau, wird aber voraussichtlich in Unity 2022 LTS verifiziert.
- Der Profilanalysator aggregiert und visualisiert sowohl Frame- als auch Markerdaten aus einem Satz von Unity Profiler-Frames, damit Sie deren Verhalten über viele Frames hinweg untersuchen können. (Dies ergänzt die im Unity Profiler bereits verfügbare Einzelbildanalyse.) Darüber hinaus können Sie zwei Profiling-Datensätze vergleichen, um zu ermitteln, wie sich Ihre Änderungen auf die Leistung der Anwendung auswirken.
- Mit dem Frame Debugger können Sie die Wiedergabe eines laufenden Spiels in einem bestimmten Frame einfrieren und dann die einzelnen Draw Calls anzeigen, die für das Rendern des Frames verwendet werden. Der Debugger listet die Draw Calls nicht nur auf, sondern bietet Ihnen auch die Möglichkeit, diese Schritt für Schritt durchzugehen. So können Sie sehen, wie die Szene aus ihren grafischen Elementen aufgebaut ist.
- Das Profiling Core-Paket bietet APIs zum Hinzufügen von Kontextinformationen zu Unity Profiler-Erfassungen.
Android / Arm
- Android Studio: Das neueste Android Studio enthält einen neuen Android Profiler , der die vorherigen Android Monitor-Tools ersetzt. Verwenden Sie es, um Echtzeitdaten zu Hardwareressourcen auf Android-Geräten zu sammeln.
- Arm Mobile Studio: Eine Reihe von Tools, die Ihnen dabei helfen, Ihre Spiele detailliert zu profilieren und zu debuggen, speziell für Geräte mit Arm-Hardware.
- Snapdragon Profiler: Speziell nur für Geräte mit Snapdragon-Chipsatz. Analysieren Sie CPU-, GPU-, DSP-, Speicher-, Strom-, Temperatur- und Netzwerkdaten, um Leistungsengpässe zu finden und zu beheben.
Intel
- Intel VTune: Mit dieser Tool-Suite können Sie Leistungsengpässe auf Intel-Plattformen schnell finden und beheben. Nur für Intel-Prozessoren.
- Intel GPA-Suite: Eine Reihe grafikorientierter Tools, die Ihnen durch die schnelle Identifizierung von Problembereichen dabei helfen, die Leistung Ihres Spiels zu verbessern.
Xbox / Windows
- PIX: PIX ist ein Leistungsoptimierungs- und Debugging-Tool für Windows- und Xbox-Spieleentwickler, die DirectX 12 verwenden. Es enthält Tools zum Verstehen und Analysieren der CPU- und GPU-Leistung sowie zur Überwachung verschiedener Leistungsindikatoren in Echtzeit. Weitere Informationen zur Nutzung von PIX für die Xbox-Spieleentwicklung erhalten Sie, wenn Sie sich als Xbox-Entwickler registrieren .
PC / Universell
- AMD μProf: AMD uProf ist ein Leistungsanalysetool zum Verstehen und Profilieren der Leistung von Anwendungen, die auf AMD-Hardware laufen.
- NVIDIA NSight: Tools, die es Entwicklern ermöglichen, mit der neuesten Visual Computing-Hardware von NVIDIA erstklassige und hochmoderne Software zu erstellen, zu debuggen, zu profilieren und zu entwickeln.
- Superluminal: Superluminal ist ein leistungsstarker Hochfrequenz-Profiler, der Profiling-Anwendungen unter Windows, Xbox One und PlayStation unterstützt, die in C++, Rust und .NET geschrieben sind. Es handelt sich allerdings um ein kostenpflichtiges Produkt und für die Nutzung ist eine Lizenz erforderlich.
PlayStation
- Für die PlayStation-Hardware stehen CPU-Profiler-Tools zur Verfügung. Für weitere Informationen müssen Sie ein registrierter PlayStation®-Entwicklersein.
iOS
- Xcode-Instrumente und der Xcode Frame Debugger: Instruments ist ein leistungsstarkes und flexibles Tool zur Leistungsanalyse und zum Testen, das Teil des Xcode-Toolsets ist.
WebGL
- Firefox Profiler: Stöbern Sie in den Aufrufstapeln und zeigen Sie Flammendiagramme für Unity-WebGL-Builds (unter anderem) mit dem Firefox Profiler an. Es verfügt außerdem über ein Vergleichstool zum nebeneinander Anzeigen von Profilaufnahmen.
- Leistung von Chrome DevTools: Ein weiteres Webbrowser-Tool, das zum Profilieren von Unity WebGL-Builds verwendet werden kann.
Während das Tool Unity Frame Debugger die von der CPU gesendeten Draw Calls erfasst und veranschaulicht, können Ihnen die folgenden Tools zeigen, was die GPU tut, wenn sie diese Befehle empfängt.
Einige sind plattformspezifisch und bieten eine engere Plattformintegration. Schauen Sie sich die Tools an, die für die jeweiligen Plattformen relevant sind:
- Arm-Grafikanalysator: Teil der Mobile Studio-Softwaresuite von Arm
- RenderDoc: GPU-Debugger für Desktop- und Mobilplattformen
- Intel-Notendurchschnitt: Grafikprofilierung für Intel-basierte Plattformen
- Debugging-Tools für Apple Frame Capture: GPU-Debugging für Apple-Plattformen
- Visual Studio-Grafikdiagnose: Wählen Sie dies und/oder PIX für DirectX-basierte Plattformen wie Windows oder Xbox
- NVIDIA Nsight Frame-Debugger: OpenGL-basierter Frame-Debugger für NVIDIA-GPUs
- AMD Radeon Entwickler-Tool-Suite: GPU-Profiler für AMD-GPUs
- Xcode-Frame-Debugger: Für iOS und macOS
Laden Sie das E-Book „ Der ultimative Leitfaden zum Profilieren von Unity-Spielen“kostenlos herunter, um alle Tipps und Best Practices zu erhalten.