Skip to content

Beta

  • Inhalt
  • Gamesübersicht
  • Games & Lyrik Podcast
  • Pressezentrum und Media-Kit
  • Jobs
  • Veröffentlichte E-Books
  • Impressum
    • Datenschutzerklärung
    • Disclaimer
  • Cookie-Richtlinie (EU)
  • Toggle search form
  • Mega Man - Maverick Hunter X Cover
    Mega Man Maverick Hunter X Games und Lyrik
  • Ultimate Pirates
    Ultimate Pirates Games und Lyrik
  • Shelter Cover
    Shelter Games und Lyrik
  • Die Wolke Lyrik
  • Snake
    Snake Games und Lyrik
  • B-Wings Cover
    B-Wings Games und Lyrik
  • Beyond Divinity Cover
    Beyond Divinity Games und Lyrik
  • Jeopardy NES-Version 25
    Jeopardy! 25th Anniversary Edition Games und Lyrik

Arbeiten mit dem Memory Profiler

Posted on 13/05/2022 By Claudia Wendt Keine Kommentare zu Arbeiten mit dem Memory Profiler

Der Memory Profiler ist ein neues Paket für Unity 2018.3 oder höher, mit dem du die Speichernutzung eines Projekts analysieren kannst, um Speicherlecks und Fragmentierungen zu finden. Speicherverluste können auftreten, wenn Speicher zugewiesen wird, die Zuordnung jedoch nie zur Wiederverwendung aufgehoben wird, nachdem der Speicher nicht mehr benötigt wird. In diesem Lernprogramm erfährst du, wie du mit dem Memory Profiler nach Speicherlecks suchen.

Der Memory-Profiler

Mit dem Memory-Profiler kannst du die Speichernutzung eines Projekts analysieren, um Lecks und Fragmentierungen zu finden. Speicherverluste können auftreten, wenn Speicher zugewiesen, aber nicht freigegeben wird, nachdem er nicht mehr benötigt wird. Die Programmleistung verschlechtert sich, wenn der Speicher knapp wird, was schließlich zum Absturz des Programms (und möglicherweise sogar des Hostgeräts) führt. Wenn der Speicher in vielen kleinen Blöcken und nicht in weniger großen zusammenhängenden Blöcken zugewiesen wird, spricht man von Speicherfragmentierung. Dies führt dazu, dass die kleinen, nicht zugewiesenen Speicherbereiche zwischen den zugewiesenen Blöcken für die Verwendung nicht mehr verfügbar sind.

Installation des Memory Profiler

Der Memory Profiler arbeitet sowohl mit dem Unity Editor als auch mit Entwicklungs-Builds zusammen und ist im Paket-Manager als Vorschau-Paket verfügbar.

So installierst du den Memory Profiler:
1. Wähle im Unity-Editor in der Dropdown-Liste Fenster die Option Paket-Manager.
2. Klicke auf Erweitert und wählen Vorschaupakete anzeigen.
3. Suche Memory Profiler und klicke in der rechten unteren Ecke des Package Manager-Fensters auf Installieren.
4. Nach der Installation kannst du auf den Memoryprofiler zugreifen, indem du in der Dropdown-Liste „Fenster“ die Option „Analyse“> „Memory Profiler“ auswählst.

Aufzeichnen eines Speicher-Snapshots
Der Speicher-Profiler kann auf einen aktuell ausgeführten Entwicklungs-Build entweder auf dem lokalen Computer abzielen oder ihm eine bestimmte IP-Adresse für einen vernetzten Computer zuweisen.
1. Bevor du einen Speicherauszug erfassen kannst, musst du ein Ziel auswählen. Standardmäßig ist der Unity-Editor das Ziel.
2. Um ein neues Ziel auszuwählen, klicke auf das Dropdown-Menü in der oberen linken Ecke des Memory Profiler.


Klicke auf die Schaltfläche Erfassen, um das aktuelle Speicherprofil des ausgewählten Ziels zu erfassen . Beachten Sie, dass das Capture selbst etwas Speicher belegt. In einigen Fällen kann dies dazu führen, dass das Ziel einfriert oder abstürzt, wenn der Arbeitsspeicher knapp wird.


Importieren eines Schnappschusses des erfassten Speichers
1. Klicken Sie oben im Fenster Memory Profiler auf die Schaltfläche Importieren.

2. Wähle über das Dropdown-Menü „Dateiformat“ in der unteren rechten Ecke des Dialogfelds „Snapshot-Datei importieren“ das Format des zu importierenden Speicher-Snapshots aus. Zu den Optionen gehören .snap-Dateien, die mit dem Memory Profiler erfasst wurden, und .memsnap *, die mit dem Bitbucket Memory Profiler erstellt wurden.

3. Navigiere zu deinem Snapshot und wähle ihn aus. Klicke auf Öffnen.
4. Wenn du zum ersten Mal einen Speicher-Snapshot aufnimmst, wird ein Ordner mit dem Namen MemoryCaptures erstellt (auf derselben Ebene wie der Ordner Assets und nicht in diesem Ordner). Sie können auch Memory Snapshots in diesen Ordner ablegen, um sie zugänglich zu machen.

5.Speicherauszug ansehen
Nach der Aufnahme oder dem Import (einschließlich des Verschiebens des Schnappschusses in den MemoryCaptures-Ordner) wird der Schnappschuss in der linken Spalte des Memory Profiler-Fensters angezeigt. Klicke auf Öffnen, um das Speicherprofil anzuzeigen.

Die Standard- und intuitivste Ansicht ist die Baumstruktur (Abbildung 06). In dieser Ansicht wird die von jedem Elementtyp verwendete Speichermenge proportional dargestellt. In unserem Beispiel belegen 126 Shader zusammen 80 MB Arbeitsspeicher.

Um eine Kategorie detaillierter anzuzeigen, klicke darauf, um alle Elemente und ihre jeweiligen Speicherabdrücke anzuzeigen. Ausführlichere Informationen werden unterhalb der Baumstruktur in einer Tabelle angezeigt. Klicke auf die Überschriften, um die Tabelle nach Wert oder Gruppe zu sortieren.

Die Tabellenansicht, die sich sowohl unter der Baumstruktur als auch unter der Speicherstruktur befindet, enthält detailliertere Informationen zur Speichernutzung einzelner Elemente.
Eine direktere Ansicht, die Memory Map, zeigt das Speicherlayout in verschiedenen Farben verschiedene Speichertypen darstellt. Dies kann hilfreich sein, um Speicherfragmentierung zu lokalisieren.


Arbeiten mit dem Memory Profiler

Ein Memory-Leck finden

So findest du ein Speicherleck:
1. Starte den Player, lege ihn als Speicherprofil-Ziel fest und machen eine Momentaufnahme von einer leeren Szene.
2. Lade die Szene, die du testen möchtest. Spiele einen Teil der Szene ab, um die notwendigen Assets zu laden.
3. Entlade die Szene, indem du Resources.UnloadUnusedAssets () oder indem du eine leere Szene zweimal lädst/erstellst
4. Mache einen weiteren Schnappschuss und beende den Wiedergabemodus.
5. Lade in der Workbench den ersten und den zweiten Screenshot und klicke auf Diff. Unity berechnet den Unterschied zwischen den beiden Screenshots. Dies könnte einige Sekunden dauern, abhängig von der Größe des Schnappschusses.
6. Klicke in der Tabellenansicht auf die Überschrift der Diff-Spalte und wähle Group aus.
7. Einträge werden gruppiert: die gleichen, in beiden Schnappschüssen , ab dem ersten gelöschten Schnappschuss und neu. Neue Einträge sind mögliche Speicherverluste.
Der Memory Profiler ist eine hervorragende Möglichkeit, die Speichernutzung deines Projektes zu überwachen.
Du kannst nicht nur sehen, was den meisten Speicherplatz verbraucht, sondern auch die Art und Weise, wie dein Projekt Speicher verwendet oder missbraucht. Speicherlecks und Fragmentierung sind zwei der häufigsten Probleme, die Auswirkungen auf das Projekt haben
und der Memory Profiler führt eine Fehlerbehebung durch.

Spieleprogrammierung Tags:Unity

Beitrags-Navigation

Previous Post: Eternal Return – Black Survival
Next Post: Bases Loaded 4

Related Posts

  • Computer C Sharp
    C# – C Sharp – Die Grundlagen Spieleprogrammierung
  • Animaze Cover
    Animaze Spieleprogrammierung
  • Einen Character Controller schreiben Spieleprogrammierung
  • Unity Screenshot
    Erste Erfahrungen mit Unity Spieleprogrammierung
  • Das PlayerCollision Script in Unity Spieleprogrammierung
  • Einen Level Gewinnen Spieleprogrammierung

Schreibe einen Kommentar Antwort abbrechen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Archives

  • November 2023
  • August 2023
  • Juli 2023
  • April 2023
  • März 2023
  • Februar 2023
  • Januar 2023
  • Dezember 2022
  • November 2022
  • Oktober 2022
  • September 2022
  • August 2022
  • Juli 2022
  • Juni 2022
  • Mai 2022
  • April 2022
  • März 2022
  • Februar 2022
  • Januar 2022
  • Dezember 2021
  • November 2021
  • Oktober 2021
  • September 2021
  • August 2021
  • Juli 2021
  • Juni 2021
  • Mai 2021
  • April 2021
  • Februar 2021
  • Januar 2021
  • Dezember 2020
  • November 2020
  • Oktober 2020
  • September 2020
  • August 2020
  • Juli 2020
  • Juni 2020

Categories

  • Action
  • Adventure
  • Adventure Escape
  • Brettspiele
  • Games und Lyrik
  • Geschicklichkeit
  • Hack and Slash
  • Horror
  • Kartenspiele
  • Liebe
  • Lyrik
  • Point-and-Click-Adventure
  • Puzzle
  • Rennspiele
  • Rogue-like
  • RPG
  • Shoot Em Up
  • Shooter
  • Simulation
  • Spieleentwickler
  • Spieleprogrammierung
  • Sport
  • Strategie
  • Survival
  • Textadventure
  • Tower-Defense
  • Uncategorized
  • Wimmelbild
  • Wirtschaftssimulation

Recent Posts

  • ProtoCorgi
  • Rosewater
  • Prim
  • Soccer Story
  • Application Systems Heidelberg

Recent Comments

  1. A WordPress Commenter zu Hello world!
  2. Rita zu Catch me!
  3. cvd zu Heart of Muriet
  4. cvd zu Heart of Muriet
  5. Gordon zu Jasper and the City of Lights
  • Pow Wow Entertainment
    Pow Wow Entertainment Spieleentwickler
  • Indiegala
    Indie Gala verschenkt Revolution Ace Games und Lyrik
  • Warhammer 40.000 Cover
    Warhammer 40.000 Games und Lyrik
  • CryoFall Cover
    CryoFall Action
  • Loriciel Logo
    Loriciel Spieleentwickler
  • Beautiful Desolation Cover
    Beautiful Desolation Adventure
  • R.C. Pro-Am Games und Lyrik
  • Kingdom
    Kingdom Strategie

Copyright © 2025 Beta.

Powered by PressBook News Dark theme