Alles, was Sie über Memory Profiler 1.0.0 wissen müssen

AGNESE CAGLIO / UNITY TECHNOLOGIESSenior Product Designer
Jan 30, 2023|10 Min.
Alles, was Sie über Memory Profiler 1.0.0 wissen müssen
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.

Der neue Memory Profiler – Version 1.0.0 – bietet Verbesserungen für die Profiling-Suite, die einen umfassenderen Überblick über die Speichernutzung bieten und die Leistungsoptimierung bzw. Erkennung von Speicherproblemen einfacher und schneller machen.

Wir im Profiler-Team freuen uns sehr, Ihnen mitteilen zu können, dass das Memory Profiler-Paket ab September 2022 von „Experimentell“ auf „Verifiziert“ umgestiegen ist und nun für alle Benutzer des Unity 2022.2 Tech Stream zugänglich ist.

Speicherprofiler: Ein Überblick

Die Speicheroptimierung ist für Anwendungen, die auf Geräten mit eingeschränkter Leistungsfähigkeit ausgeführt werden, von entscheidender Bedeutung, um Abstürze aufgrund von Speichermangel zu verhindern. Wenn Sie außerdem planen, auf mehreren Geräten zu versenden, muss Ihr Speicherbedarf möglicherweise feinabgestimmt werden, um sicherzustellen, dass Sie das Beste aus jeder Plattform herausholen.

Der Memory Profiler ist ein Tool, das Ihnen bei diesen Herausforderungen hilft, indem es Ihnen ermöglicht, einen Schnappschuss Ihres Spiels zu erstellen und dessen Speichernutzung zu einem bestimmten Zeitpunkt zu überprüfen.

Indem Sie einen „Schnappschuss“ Ihres Spiels erstellen, können Sie sehen, was den größten Teil des Speichers belegt, oder Probleme identifizieren, die zum Absturz von Anwendungen führen können.

Notiz: Während die vollständigen Funktionen und die Speicherverfolgung von Memory Profiler erst ab 2022.2 verfügbar sind, können Sie die Vorteile der neuen Benutzeroberfläche (UI) nutzen, um ältere Aufnahmen zu überprüfen, indem Sie Memory Profiler in einem leeren 2022+-Projekt öffnen und ältere Snapshots importieren.

Wie es hierher kam

Memory Profiler wurde ursprünglich vor einigen Jahren als experimentelles Paket veröffentlicht, diese Version enthält jedoch eine umfassende Überarbeitung der Benutzeroberfläche und des Benutzererlebnisses (UX), um die Nutzung zu beschleunigen und zu vereinfachen.

Das ursprüngliche experimentelle Paket wurde von einigen Early Adopters verwendet und half in vielen Fällen, Speicherprobleme zu identifizieren. Allerdings war es unhandlich, langsam und erforderte in seiner ersten Version Expertenwissen.

Als wir mit der Arbeit an einer neuen Version des Pakets begannen, hatten wir folgende Absichten im Sinn:

  • Vereinfachen Sie die häufigsten und wichtigsten Arbeitsabläufe, damit Sie Probleme schneller erkennen und beheben können.
  • Bereitstellung umfassenderer und zuverlässigerer Informationen, um den Speicherverbrauch geräteübergreifender einfacher vergleichen zu können (auch mithilfe plattformspezifischer Profiler).
  • Präsentieren Sie Informationen auf eine zugänglichere Art und Weise, sodass auch Benutzer ohne umfassende Speicherkenntnisse Anwendungen effektiv optimieren können.

Um dies zu erreichen, haben wir eng mit den Erstanwendern des experimentellen Pakets zusammengearbeitet, um ihre Anforderungen und Schwachstellen zu verstehen. Außerdem haben wir das Design mehrmals überarbeitet, um sicherzustellen, dass es die bestmögliche UX bietet.

Dank ihrer Eingaben konnte unser Team das Tool erheblich rationalisieren und vereinfachen, den Fachjargon reduzieren und die Überprüfung von Objekten, Details und Abhängigkeiten direkt im Tool vereinfachen.

Was ist drin

Memory Profiler besteht aus drei Hauptabschnitten, die die neue und verbesserte Benutzeroberfläche präsentieren, die wir hier aufschlüsseln werden:

  • Snapshot-Liste
  • Ein Hauptabschnitt, der wiederum in drei Workflow-Ansichten unterteilt ist (Zusammenfassung, Unity-Objekte und Gesamter Speicher)
  • Auswahldetails
Snapshot-Liste

In der Snapshot-Liste können Sie Snapshots, die Sie in Ihrem Spiel gemacht haben, erfassen und anzeigen. Außerdem erhalten Sie allgemeine Informationen zur Speichernutzung und zum Erfassungsdatum. Hier können Sie Schnappschüsse entweder über die Schaltfläche „Aufnehmen“ in der Symbolleiste oder – falls kein Schnappschuss vorhanden ist – über die Schnappschuss-Schaltfläche im Hauptbereichaufnehmen.

Sie können auch sehen, ob sich die Speichernutzung zwischen den Snapshots ändert, und bekommen ein Gefühl dafür, ob sich die Projektleistung verbessert oder nicht.

Schließlich können Sie in der Snapshot-Liste auch auswählen, ob Sie einzelne Snapshots oder verglichene Snapshots ansehen möchten (weitere Informationen hierzu finden Sie weiter unten).

Snapshot-Liste
Der Hauptabschnitt

Dies ist der Kernbereich des Memory Profiler, unterteilt in drei Workflow-Ansichten: Zusammenfassung, Unity-Objekte und der gesamte Speicher. Auf jede dieser Ansichten kann über die Registerkarten oben im Hauptabschnitt zugegriffen werden.

Die Übersichtsansicht ist die Standardansicht, die geöffnet wird, wenn Sie einen Schnappschuss laden oder aufnehmen. Es bietet Informationen darüber, wie viel Speicher Sie verwenden, wie viel auf dem Gerät „resident“ ist und wie viel festgeschrieben, aber derzeit nicht auf dem Gerät vorhanden ist. Es bietet auch Informationen zur Verteilung des Speichers auf die Kategorien, um Ihnen die Entscheidung zu erleichtern, wo Sie mit Ihrer Untersuchung beginnen.

Schließlich bietet die Zusammenfassungsansicht Einstiegspunkte für detailliertere Analysen, wie etwa die „Top-Unity-Objekte im Speicher“ oder die „Aufschlüsselung des verwalteten Speichers“.

Hauptbereich – Übersichtsansicht

In der Unity-Objektansicht werden Sie wahrscheinlich die meiste Zeit verbringen. Es listet alle Haupttypen der in den Speicher geladenen Objekte auf, wie Texturen, Shader, Schriftarten usw. Normalerweise können Sie hier Objekte identifizieren, die zu groß sind, nicht vorhanden sein müssen, weil sie versehentlich geladen wurden oder durch eine hängende Referenz im Speicher behalten wurden.

Hauptabschnitt – Unity-Objektansicht

In der Ansicht „Gesamter Speicher“ können Sie den gesamten Speicher, unterteilt nach Kategorien – „Nativ“, „Verwaltet“, „Grafik“ oder „Ausführbare Dateien“ – anzeigen. Sie können die vom Memory Profiler erfassten Daten sehen und spezifischere Aspekte untersuchen, um zu sehen, woraus der Speicher Ihres Projekts besteht.

Hauptabschnitt – Gesamtspeicheransicht
Auswahldetails

Unter „Auswahldetails“ finden Sie weitere Informationen zu den im Hauptabschnitt ausgewählten Elementen, darunter Beschreibungen verschiedener Speicherkategorien und mögliche Referenzen oder Details zu ausgewählten Objekten.

In diesem Abschnitt finden Sie weitere Informationen, die Ihnen dabei helfen zu verstehen, was Sie sehen, und die es einfacher machen, festzustellen, warum sich etwas im Speicher befindet. Wenn Sie das Projekt im Editor geöffnet haben, haben Sie außerdem die Möglichkeit, Objekte zu „pingen“ und Assets direkt im Szenen- oder Projektfenster zu prüfen.

 Auswahldetailansicht
Vergleichen von Snapshots

Jede der oben beschriebenen Ansichten steht zum Überprüfen einzelner Schnappschüsse oder zum Vergleichen dieser zur Verfügung.

Wenn Sie einen Snapshot vergleichen möchten, können Sie in der Snapshot-Liste „Vergleichen“ auswählen und dann einen zweiten Snapshot aus Ihrer Liste auswählen. Wenn Sie sich auf der Registerkarte „Vergleichen“ der Snapshot-Liste befinden, werden alle Ansichten automatisch in den Vergleichsmodusversetzt.

Im Vergleichsmodus stellt die Übersichtsansicht die Speicheraufschlüsselung der beiden Aufnahmen nebeneinander dar, sodass Sie die Hauptunterschiede in der Speichernutzung zwischen den Schnappschüssen (die mit „A“ und „B“ bezeichnet werden) sehen können.

Vergleichsmodusansicht

In den Ansichten „Unity-Objekte“ und „Gesamter Speicher“ gibt es eine neue, dedizierte Benutzeroberfläche, mit der Sie sehen können, wie sich die Größe verschiedener Speicherkategorien oder die Menge der darin enthaltenen Objekte geändert hat.

Wenn Sie in der oberen Tabelle eine Kategorie auswählen, können Sie in den Tabellen darunter die einzelnen Unterschiede für Schnappschuss A und B prüfen.

Unity-Objekte und Gesamtspeicheransichten im Vergleichsmodus

Wenn Sie zur Überprüfung eines einzelnen Schnappschusses zurückkehren möchten, können Sie in der Schnappschussliste erneut „Einzeln“ auswählen. Der zweite Snapshot bleibt latent geladen, sodass Sie bei Bedarf schnell zwischen den beiden wechseln können.

Speicher in Unity verstehen und optimieren

Wir hoffen, Ihnen in den kommenden Monaten weitere Ressourcen und Informationen zur Verfügung stellen zu können, wie Sie Ihr Gedächtnis effektiv optimieren können. Bleiben Sie dran für weitere Blogbeiträge, in denen es um die Identifizierung häufiger Speicherprobleme geht und die ausführliche Erläuterung der Funktionsweise des Speichers in Unity beinhalten.

Für allgemeinere Ressourcen zur Optimierung der Anwendungsleistung empfehlen wir Folgendes:

Nächste Schritte

In diese Neugestaltung des Memory Profiler wurden die Eingaben vieler Early Adopters der experimentellen Version dieses Pakets integriert. Obwohl diese Version erhebliche Verbesserungen hinsichtlich der Zuverlässigkeit und Benutzerfreundlichkeit dieses Tools mit sich bringt, ist unsere Arbeit noch lange nicht abgeschlossen.

Darüber hinaus arbeiten wir derzeit daran, die Arbeitsabläufe im Zusammenhang mit der Reduzierung der Fragmentierung besser zu verstehen, sodass wir Ihnen in Zukunft möglicherweise auch bei diesem Aspekt helfen können. Gleichzeitig sammeln wir Feedback zu Usability- und UX-Problemen, die noch offen sind und verbessert werden müssen.

Wenn Sie Feedback oder Vorschläge haben, laden wir Sie ein, uns Ihre Gedanken auf unserer Roadmap-Seitemitzuteilen. Dort können Sie für bestehende, in der Entwicklung befindliche Funktionen abstimmen oder neue vorschlagen. Sie können auch in den ForenFragen stellen.

Wir überwachen beide Kanäle ständig und freuen uns auf die Zusammenarbeit, um die Leistung und Tools von Unity weiter zu verbessern.

Installieren Sie das Memory Profiler 1.0.0- Paket oder erfahren Sie mehr darüber.