Optimierung der mobilen Leistung mit Adaptive Performance 4.0

Laden Sie den Unity 2022.1 Tech Stream herunter und entdecken Sie Adaptive Performance 4.0. Steigern Sie die Android-Leistung auf Samsung-Geräten mit vier weiteren Skalierern, die Physik, Abziehbilder, Anpassung und Ebenen-Culling abdecken, sowie Unterstützung für visuelles Scripting zur Optimierung der App-Leistung.
Unity 2022.1 bietet einen frühen Zugang zu innovativen neuen Funktionen, die in die nächste Long Term Support (LTS) Version einfließen werden. In diesem überprüften Paket enthält Adaptive Performance 4.0 einige großartige neue Ergänzungen, um die Skalierung Ihrer Anwendung zu erweitern und ihre Gesamtleistung zu verbessern.
Auf der GDC 2022 haben wir die neuesten Updates für Adaptive Performance 4.0 während unseres Vortrags mit Samsung vorgestellt: Entfalte dein Spielepotenzial mit Galaxy GameDev. Lesen Sie weiter, um eine Übersicht zu erhalten.
Mit unserer visuellen Skripting-Integration kann nahezu jeder Adaptive Performance nutzen, um seine Anwendung zu skalieren und die Akkulaufzeit zu verlängern. Nach der Installation von Adaptive Performance 4.0 stellt das visuelle Skripting-System von Unity Units bereit, mit denen Sie auf die Metriken von Adaptive Performance zugreifen können, ohne etwas in C# zu implementieren.

Mit anderen Worten: Sobald Sie das visuelle Skripting-Paket installieren, aktiviert Unity automatisch die Adaptive Performance Units. Sie können dann Adaptive Performance zu einem Projekt mit vorhandenen visuellen Skriptgraphen hinzufügen, müssen aber die Units neu kompilieren. Eine ausführliche Demonstration und bewährte Verfahren finden Sie in der Beispieldokumentation zu Adaptive Performance.
Da Unity die Einheiten für die adaptive Leistung neu generiert, können Sie neue Einheiten zu Ihrem Diagramm hinzufügen, indem Sie mit der rechten Maustaste auf den Hintergrund eines beliebigen Skriptdiagramms klicken. Gehen Sie zum Untermenü Adaptive Leistung, um die Einheiten zu finden.
Partikel im Bootsangriff
Hier ein Beispiel für die Verwendung von Adaptive Performance im Visual Scripting. Das folgende Bild zeigt einen Ausschnitt aus Bootsangriffin dem alle Partikel bei "drohender Drosselung" deaktiviert und aktiviert sind, wenn keine Warnungen vorliegen. Wir skalieren Effekte wie das Plätschern von Wasserwellen, den Rauch von Bootsmotoren und die Bildung von Gleitschirmspuren, da sie CPU und GPU stark belasten. Dies verbessert die Leistung bei minimalen Änderungen am Spiel selbst.

Bei jeder Änderung der Wärmewarnung veranlassen wir das Partikelsystem, darüber zu iterieren und dann das Partikelsystem anzuhalten oder neu zu starten. Dies kann natürlich an die Bedürfnisse des Spiels angepasst werden. Anstatt die Effekte vollständig zu deaktivieren, können Sie beispielsweise die Anzahl der Emitter oder die Qualität der Quellbilder verringern.
Alle Adaptive Performance APIs sind in visuellem Scripting neu konzipiert. Eine vollständige Liste der APIs und der dazugehörigen Informationen finden Sie in der Dokumentation zur Integration von Visual Scripting.
Zusätzlich zu den vielen bereits verfügbaren Skalierern haben wir vier neue Skalierer zu Adaptive Performance 4.0 hinzugefügt:
- Layer-Culling-Skalierer
- Abziehbilder Skalierer
- Kundenspezifischer Scaler
- Physik-Skalierer
Zu den Vorteilen des Indexersystems und aller darauf aufbauenden Skalierer gehören:
- Stabilisierung der Bildrate
- Minimale Drosselung
- Rettung vor Drosselung
- Automatische Inhaltsskalierung während der Laufzeit
- Skalierung ohne Neukompilierung des Quellcodes auf Millionen von Geräten
- Einfache Integration
- Hohe Qualität
- Geringe Wartung
Das benutzerdefinierte Modul Adaptive Performance Unity Profiler zeigt Ihnen, wie sich Skalierer verändern, damit Sie sehen können, ob sie ihre Aufgabe gut erfüllen oder ob Sie sie optimieren müssen. Das folgende Beispiel zeigt Boat Attack auf einem Samsung Fold3 im aufgeklappten Zustand, das eine recht hohe Auflösung verwendet.

Boat Attack beginnt mit einer Vielzahl von Scalern, die in der Menüszene eingesetzt werden, die vor der Aufnahme stabilisiert wurde. In diesem Beispiel steigt die Temperatur schnell an und das Gerät schaltet auf Drosselung.
Adaptive Performance versucht, die Situation zu stabilisieren und die Auswirkungen auf den Grafikprozessor zu reduzieren, da dieser eindeutig der Engpass ist. Die Schattenskalierer verringern dadurch die Qualität rapide - aber weil das nicht ausreicht, sinken auch der Betrachtungsabstand und die Auflösung. Die Bildrate stabilisiert sich dann und die Temperatur sinkt. Das Spiel wird von der Drosselung befreit und die Bildrate steigt auf 60 fps.
Layer-Culling-Skalierer
Mit dem Layer-Culling-Skalierer können Sie die Abstände zwischen den Ebenen zur Laufzeit dynamisch anpassen.
Diese Funktion nutzt das Indexierungssystem, um bestimmte Entscheidungen zu treffen, z. B. wann und um wie viel die Lagenabstände erhöht oder verringert werden müssen, um eine optimale Leistung und thermische Stabilität zu erzielen.
Das von uns mit Adaptive Performance ausgelieferte Beispiel läuft bei mittlerer CPU-Belastung, bis es kritische Bildraten erreicht, und verringert dann den Cull-Abstand der Ebenen. Dies hat zur Folge, dass sich der Cull-Abstand für Ebenen je nach CPU- und GPU-Auslastung ändert.
Sie können für jede Ebene einen anderen Wert für den Culling-Abstand einstellen, damit sie proportional skaliert werden. Auf diese Weise können Sie bestimmen, welche Objekte früher entfernt werden sollen, um Leistung zu sparen. Einzelheiten dazu finden Sie in dem folgenden Codebeispiel.
Adaptive Aufkleber
Adaptive Aufkleber zielen auf visuelle Effekte ab. Unter Erstaunliche Abenteuer des Dr. Arm gibt es ein Szenario für einen Bosskampf, bei dem viele Partikel und Abziehbildprojektoren zum Einsatz kommen. Wenn das mobile Gerät heiß wird und eine Drosselung droht (oder bereits stattfindet), verringert sich die Anzahl der abgegebenen Partikel. In diesem Fall werden weniger visuell wichtige Emitter, wie z. B. im Wind wehende Blätter, kleine Funken und andere Elemente, vollständig ausgeschaltet. Der Scaler verringert auch den Abstand der Abziehbilder.
Keine Warnungen

Drosselung

Darüber hinaus sind Kollisionen bei einigen Partikeln deaktiviert. Sobald die thermische Belastung abnimmt, können wir diese Effekte wieder verstärken.
Kundenspezifischer Scaler
Der benutzerdefinierte Scaler implementiert einen Nebelscaler und hilft Ihnen sogar, Ihre eigenen Scaler zu erstellen, wenn wir sie nicht direkt anbieten. Der benutzerdefinierte Scaler erhöht den Nebel und verringert die Sichtweite, wenn die thermische Belastung zunimmt. Dadurch wird das System entlastet, so dass es sich erholen kann.
Die Nachbearbeitung kann schnell zu einem der teuersten Teile des Bildes werden. Obwohl sie für das Gameplay nicht entscheidend sind, können sie die Atmosphäre verbessern und die Kunst, an der das Entwicklerteam so hart arbeitet, aufwerten.
Adaptive Performance bietet den Vorteil, dass die Nachbearbeitungseffekte des Spiels in vollem Umfang genutzt werden können, aber auch Effekte, die in Momenten mit hoher Belastung des Geräts nicht benötigt werden, reduziert werden können. Wenn die Drosselung im Gange ist, schalten wir bestimmte Effekte in Amazing Adventures of Dr. Arm, die vor allem dazu dienen, die Stimmung der Szene zu verbessern, ohne das Spielgeschehen wesentlich zu beeinflussen. Nebel, Bloom, Tiefenschärfe, Screen Space Ambient Occlusion (SSAO) und Bewegungsunschärfe sind einige hervorragende Beispiele für visuelle Effekte, die viel bewirken können, aber für das Gameplay nicht notwendig sind. Diese Optimierungen ermöglichen erhebliche Leistungssteigerungen im Spiel.
Keine Warnungen

Drosselung

Adaptive Physik
Adaptive Physik ändert die feste Deltazeit, mit der die Physik-Engine aktualisiert wird. Wenn Sie es für andere Systeme verwenden, werden diese ebenfalls skaliert. Wenn Sie jedoch die festen Deltazeiten in anderen Systemen verwenden, möchten Sie vielleicht Ihren eigenen Physik-Skalierer erstellen, um detailliertere Einstellungen anstelle der festen Deltazeit zu verwenden.
Siehe den obigen Vergleich eines ursprünglichen Time.fixedDeltaTime-Werts und einer verkleinerten Version. Die durchschnittliche Bildlaufzeit des Originals beträgt 28 ms und die der verkleinerten Version 21 ms.
Unser Adaptive Performance Team arbeitet ständig daran, das Paket und die Reichweite der Plattform zu erweitern, und wir freuen uns auf die neuen Anbieter, die in Zukunft kommen werden. Wie immer freuen wir uns über Ihr Feedback in unserem Adaptive Performance Forum. Bitte zögern Sie nicht, sich zu melden!
