Hero background image

Werkzeuge zur Profilerstellung und Debugging

Diese Website wurde aus praktischen Gründen für Sie maschinell übersetzt. Die Richtigkeit und Zuverlässigkeit des übersetzten Inhalts kann von uns nicht gewährleistet werden. Sollten Sie Zweifel an der Richtigkeit des übersetzten Inhalts haben, schauen Sie sich bitte die offizielle englische Version der Website an.

Eine reibungslose Leistung ist entscheidend für die Schaffung großartiger Spielerlebnisse, die eine breite Palette von Geräten und Spielern erreichen. Unity bietet ein vollständiges Set an Profilierungs- und Speicherverwaltungstools, die Unity-Entwickler zusammen mit den nativen Profilierungstools verwenden können, die für ihre Zielplattformen verfügbar sind.

In diesem Artikel geben wir Ihnen einen Überblick über die Profilierungs- und Debugging-Tools, die mit Unity verfügbar sind, sowie über die, die für Zielplattformen verfügbar sind.

Die Informationen hier sind Auszüge aus dem E-Book, Ultimative Anleitung zur Profilerstellung von Unity-Spielen (Unity 6 Edition), das kostenlos heruntergeladen werden kann. Das E-Book wurde sowohl von externen als auch von internen Unity-Experten in den Bereichen Spielentwicklung, Profilierung und Optimierung erstellt.

Verwenden Sie sowohl Unity- als auch native Tools für die besten Ergebnisse

Schlanker, leistungsfähiger Code und optimierte Speichernutzung führen zu einem besseren Benutzererlebnis auf sowohl Low-End- als auch High-End-Geräten. Dies gilt für alles, von der Fähigkeit, mehr Benutzer auf Low-End-Geräten zu erreichen, indem Wärme- und Batterieverbrauch angegangen werden, bis hin zu den Komfortniveaus Ihrer Spieler und letztendlich zu den Faktoren, die eine höhere Akzeptanz und Bindung fördern. Es kann auch eine Anforderung sein, um die Spezifikationen der Vertriebsplattform zu erfüllen. Profilierung ist wie Detektivarbeit, die die Geheimnisse aufdeckt, warum die Leistung Ihrer Anwendung nachlässt oder warum Code übermäßigen Speicher zuweist.

Die besten Gewinne aus der Profilierung werden erzielt, wenn Sie frühzeitig in der Entwicklungsphase Ihres Projekts planen. Es ist ein fortlaufender proaktiver und iterativer Prozess. Durch frühe und häufige Profilierung, anstatt nur kurz bevor Sie Ihr Spiel veröffentlichen, können Sie und Ihr Team ein "Leistungsprofil" für das Projekt verstehen und festlegen. Wenn die Leistung beispielsweise stark abfällt, können Sie leicht erkennen, wann etwas schiefgeht, und das Problem schnell beheben.

Die genauesten Profilierungsergebnisse stammen von der Ausführung und Profilierung von Builds auf Zielgeräten sowie von der Verwendung plattformspezifischer Werkzeuge, um in die Hardwaremerkmale jeder angestrebten Plattform einzutauchen.

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. Es gibt auch mehrere großartige native Profilierungstools, die für jede Zielplattform entwickelt wurden, wie die von den großen Plattformanbietern verfügbaren. Die Verwendung einer Kombination aus beidem bietet eine ganzheitlichere Sicht auf die Anwendungsleistung über alle Zielgeräte hinweg.

Das Highlights-Modul im Unity Profiler
Das Highlights-Modul im Profiler erleichtert das Verständnis, wie Ihr Spiel im Vergleich zur festgelegten Zielbildrate abschneidet. In diesem Beispiel ist viel Optimierungsarbeit sowohl auf der CPU als auch auf der GPU erforderlich, um die Zielvorgabe von 60 fps zu erreichen.

Unity Profilerstellungs-Tools

Die Profiling-Tools von Unity sind im Editor und über den Package Manager verfügbar. Diese Tools, zusammen mit dem Unity Frame Debugger, werden im eBook Ultimative Anleitung zur Profilerstellung von Unity-Spielen (Unity 6. Auflage) ausführlicher behandelt.

- Der Unity Profiler misst die Leistung des Unity Editors und Ihrer Anwendung im Spielmodus oder Entwicklungsmodus, während Sie mit einem Gerät verbunden sind.

- Das Profiling Core-Paket bietet APIs, die Sie verwenden können, um kontextuelle Informationen zu Unity Profiler-Aufzeichnungen hinzuzufügen.

- Der Memory Profiler bietet eine eingehende Analyse, wie viel Speicher Ihr Spiel verwendet und welche Objekte ihn nutzen.

- Der Profile Analyzer ermöglicht es Ihnen, zwei Profildatensätze nebeneinander zu vergleichen, um zu analysieren, wie sich Ihre Änderungen auf die Leistung Ihrer Anwendung auswirken.

- Der Project Auditor berichtet über Einblicke und Probleme zu den Skripten, Assets und dem Code in Ihrem Projekt, von denen viele mit der Leistung zusammenhängen.

Unity bietet auch mehrere Debugging-Tools, die seine Suite von Profiling-Tools ergänzen. Das Display Stats-Panel des Rendering Debugger ermöglicht es Ihnen beispielsweise, eine begrenzte Anzahl von Leistungszahlen und Markierungen (CPU + GPU) in Entwicklungs-Builds zu sehen, ohne dass der Editor verbunden ist.

Der Frame Debugger in Unity
Verwenden Sie den Frame Debugger, um zu analysieren, wie identifiziertes Overdraw auftritt.

Native Profilerstellungs-Tools

Android / Arm

- Android Studio: Die neueste Android Studio-Version enthält einen neuen Android Profiler, der die vorherigen Android Monitor-Tools ersetzt. Verwenden Sie es, um Echtzeitdaten über Hardware-Ressourcen auf Android-Geräten zu sammeln.

- Arm Performance Studio: Eine Suite von Tools, die Ihnen hilft, Ihre Spiele im Detail zu profilieren und zu debuggen, die für Geräte mit Arm-Hardware ausgelegt sind.

- Snapdragon Profiler: Speziell nur für Geräte mit Snapdragon-Chipsatz. Analysieren Sie CPU-, GPU-, DSP-, Speicher-, Energie-, Wärme- und Netzwerkdaten, um Leistungsengpässe zu finden und zu beheben.

Intel

- Intel VTune: Finden Sie schnell Leistungsengpässe auf Intel-Plattformen mit dieser Suite von Tools. Nur für Intel-Prozessoren.

- Intel GPA suite: Eine Suite von grafikfokussierten Tools, die Ihnen helfen, die Leistung Ihres Spiels zu verbessern, indem Sie Problemstellen schnell identifizieren.

Xbox / PC
- PIX: PIX ist ein Performance-Tuning- und Debugging-Tool für Windows- und Xbox-Spielentwickler, die DirectX 12 verwenden. Es enthält Tools zum Verständnis und zur Analyse der CPU- und GPU-Leistung sowie zur Überwachung verschiedener Echtzeit-Leistungszähler.

PC / Universal

- AMD μProf: AMD uProf ist ein Performance-Analyse-Tool zum Verständnis und zur Profilerstellung der Leistung von Anwendungen, die auf AMD-Hardware ausgeführt werden.

- NVIDIA NSight: Tools, die es Entwicklern ermöglichen, Software von höchster Klasse und modernster Technologie mit der neuesten visuellen Computerhardware von NVIDIA zu erstellen, zu debuggen, zu profilieren und zu entwickeln.

- Samply: Samply ist ein Open-Source-Befehlszeilen-CPU-Profilierer, der den Firefox-Profilierer als Benutzeroberfläche verwendet. Es funktioniert auf macOS, Linux und Windows.

- Superluminal: Superluminal ist ein Hochleistungs-, Hochfrequenz-Profilierer, der das Profilieren von Anwendungen auf Windows, Xbox One und PlayStation unterstützt, die in C++, Rust und .NET geschrieben sind. Es ist jedoch ein kostenpflichtiges Produkt und muss lizenziert werden, um verwendet zu werden. Schauen Sie sich unseren Diskussionsartikel für eine schnelle Einführung an, wie Sie anfangen können.

PlayStation

- CPU-Profiling-Tools sind für PlayStation-Hardware verfügbar. Für weitere Details müssen Sie ein registrierter PlayStation®-Entwickler sein, starten Sie hier.

iOS

- Xcode Instruments und der XCode Frame Debugger: Instruments ist ein leistungsstarkes und flexibles Performance-Analyse- und Testwerkzeug, das Teil des Xcode-Toolsets ist.

WebGL

- Firefox Profiler: Untersuchen Sie die Aufrufstapel und sehen Sie Flame Graphs für Unity WebGL-Bauten (unter anderem) mit dem Firefox Profiler. Es bietet auch ein Vergleichswerkzeug, um Profiling-Aufnahmen nebeneinander zu betrachten.

- Chrome DevTools Performance: Ein weiteres Webbrowser-Tool, das verwendet werden kann, um Unity WebGL-Bauten zu profilieren.

Arm's Streamline Performance Analyzer
Der Streamline Performance Analyzer von Arm enthält eine Fülle von Leistungszählerinformationen, die während Live-Profiling-Sitzungen auf der Zielhardware von Arm erfasst werden können. Dies ist großartig, um Leistungsprobleme wie die Sättigung der Speicherbandbreite zu identifizieren, die durch Überzeichnung entstehen.

GPU-Debugging- und Profilierungstools

Während das Unity Frame Debug-Tool die Draw Calls erfasst und veranschaulicht, die vom CPU gesendet werden, können die folgenden Tools Ihnen helfen zu zeigen, was die GPU tut, wenn sie diese Befehle erhält.

Einige sind plattformspezifisch und bieten eine engere Plattformintegration. Werfen Sie einen Blick auf die für die interessierenden Plattformen relevanten Tools:

- Arm Streamline: Teil der Performance Studio-Software-Suite von Arm, die sich auf die Messung der CPU- und GPU-Leistung mit geringem Overhead konzentriert.

- Arm Frame Advisor: Teil der Performance Studio-Software-Suite von Arm, die sich auf die framebasierte API-Profilierung konzentriert.

- RenderDoc: GPU-Debugger für Desktop- und mobile Plattformen, der sich auf die framebasierte API-Debugging konzentriert.

- Intel GPA: Grafikprofilierung für Intel-basierte Plattformen

- Apple Frame Capture Debugging Tools: GPU-Debugging für Apple-Plattformen

- Visual Studio Graphics Diagnostics: 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 Developer Tool Suite: GPU-Profilierer für AMD-GPUs

- Xcode Frame Debugger: Für iOS und macOS.

Unity-E-Books
Weitere Tipps für Unity 6

Sie finden viele weitere optimale Vorgehensweisen und Tipps für fortgeschrittene Unity-Entwickler und -Ersteller im Unity-Best-Practices-Hub. Wählen Sie aus über 30 Leitfäden, die von Branchenexperten sowie Unity-Ingenieuren und technischen Künstlern erstellt wurden, die Ihnen helfen, effizient mit den Werkzeugen und Systemen von Unity zu entwickeln.

Profilierung und Debugging mit Unity und nativen Plattformwerkzeugen | Unity