Unity Performance erhöhen?

1 Antwort

Vom Fragesteller als hilfreich ausgezeichnet

Hi,

bei solchen Dingen lohnt es sich natürlich, wenn du die Berechnungen der Schleife nicht nur in einem Thread sondern mehreren laufen lässt.

Hier könntest Du Dir das Job-System von Unity anschauen, um Deinen Code auf mehreren Threads laufen zu lassen: https://docs.unity3d.com/Manual/JobSystem.html

In Kombination mit dem Burst Compiler kannst du prinzipiell sehr viel Performance rausholen: https://docs.unity3d.com/Packages/com.unity.burst@0.2-preview.20/manual/index.html

Aber: dieser Umbau ist nicht trivial, da du generell erstmal das Job-System verstehen musst und dann natürlich deine eigenen Daten. Diese müssen so aufbereitet werden, dass deren Bearbeitung parallelisierbar ist. Das kann ich dir auch hier nicht direkt beschreiben, da es mehr benötigt als nur ein kleiner Ausschnitt vom Code.

Das Problem ist übrigens auch kein „generelles Unity“ Problem. Damit hat jeder zu kämpfen, der viele Daten verarbeiten möchte. :)

Viel Erfolg!

Woher ich das weiß:Berufserfahrung – Indie Game Entwickler & Content Creator auf YouTube

VoltarenGel 
Fragesteller
 23.04.2022, 12:56

Ja isses nicht. :-D Dank dir/euch hab ich erst mit Unity und Blender Angefangen.

Kann ich auch ne ParralelFor benutzen? Oder muss es zwingend das Unity Job System sein?

1
BoundfoxStudios  23.04.2022, 13:16
@VoltarenGel

Wenn du maximale Performance rausholen willst, dann Job System.

Wie gut hier Parallel.ForEach ist und Dir helfen kann, weiß ich leider nicht. Aufgrund des Job-Systems hatte ich noch nie den Bedarf in Unity Parallel.ForEach zu benutzen. :)

und freut mich, dass unser Kanal Dir helfen konnte mit Unity und Blender anzufangen. :)

0