Kostenloses Code-Analyse Tool: Gendarme for Unity

gendarme-for-unity

Wenn ihr euren Programm-Code optimieren und performanter machen wollt, dann gibt es jetzt das kostenlose Analyse-Tool Gendarme for Unity.

Das Tool analysiert euren Code und gibt Hinweise, wie ihr diesen verbessern könnt.

Code-Analyse mit Mono

Wenn .NET- und Mono-Entwickler ihren Programmcode optimieren wollen, können sie hierfür das echt geniale Tool “Gendarme” von Mono nutzen.

Dieses analysiert den Code und gibt anschließend einen Bericht aus, wo es die Stellen aufzeigt, wo es Verbesserungspotential gibt. Dabei wird natürlich auch angegeben, was verbessert werden kann.

Analyse von Unity-Code

Nun hat FDerudder,so der Nick-Name des Unity-Entwicklers, für Unity eine Variante erstellt, die mit zusätzlichen Analyseregeln bestückt sind, die speziell auf Unity ausgelegt sind.

Die momentan implementierten Regeln sind:

  • AvoidEmptyComponentsMethods: Prüft, ob eure Skripte leere Updates haben. Es prüft alle Basis MonoBehaviours Methoden
  • AvoidUsingFindObjectInUpdate: Prüft, ob ihr mit Object.FindObjectOfType, FindObjectsOfType oder GameObject.Find (“name”) in Update / LateUpdate / FixedUpdate nutzt.
  • CacheComponentLookup: prüft, ob ihr Transforms in Updates ansprecht und schlägt vor, diese stattdessen in lokalen Variablen zu cachen.
  • UseBuiltInArray: Prüft die Verwendung von Array und ArrayList und schlägt stattdessen type [] oder generische Collections (List) vor.

Dass vier Regeln natürlich nicht gerade viele sind, ist dem Entwickler bewusst. Aber auch schon das Einhalten dieser wenigen Regeln kann schon einiges an Performance herausholen (ja nach Game natürlich).

Diese Regeln sollen aber auch nur der erste Schritt sein. Wenn ihr dabei helfen wollt, weitere Regeln zu entwerfen, dann könnt ihr ihn gerne kontaktieren.

Anleitung

Das Tool ist wirklich einfach zu nutzen, denn nichtmal eine Installation ist hierfür nötig.

  • Ihr müsst einfach nur die Exe in dem Paket starten (GendarmeWizard.exe),
  • die dementsprechenden Assemblies hinzufügen, die ihr testen wollt (diese findet ihr in euren Projekten in Library–>ScriptAssemblies), typischerweise sind es die DLLs “Assembly-CSharp.dll”, “Assembly-CSharp-Editor.dll”.
  • Dann wählt ihr die Regeln aus, auf die ihr die DLL hin überprüfen wollt (wichtig ist der Ordner “Unity.Rules.Performance”).
  • Und schließlich setzt ihr die Sichtbarkeit auf “All Code, visible or not, outside the assemblies”.
  • Das wars, danach lasst ihr das Tool loslaufen, dessen Ergebnisbericht ihr dann direkt anschauen oder abspeichern könnt.

Kein Javascript-Support

Da das Tool ein Standard-Mono-Tool ist, welches die Unity-Regeln nur aufgestülpt bekommen hat, muss ich leider feststellen, dass man lediglich C#-Code analysieren kann.

Unity Javascript geht leider nicht. Das ist ein Nachteil, der mich persönlich jetzt nicht sonderlich stört, da ich schon lange nicht mehr in Javascript programmiere, aber für Javascript-Entwickler wird das enttäuschend sein.

Sollte ich irgendwelche Fehler gemacht haben und es sollte doch gehen, dann bitte ich um eine kurze Mitteilung Icon Smile in Kostenloses Code-Analyse Tool: Gendarme for Unity

Kostenloser Download

Hier könnt ihr das Code-Analyse Tool “Gendarme for Unity” herunterladen: Gendarme for Unity.

Weitere Infos gibt es hierzu im internationalen Unity-Forum.

Artikel gefallen?

Wenn Dir dieser Artikel gefallen hat, dann kannst Du mich ganz einfach unterstützen:

  • Teile diesen Artikel über Deine Social Network Kanäle mit Deinen Freunden (der ersten Klick auf einen der unteren Knöpfe aktiviert die Funktion, erst der zweite Klick teilt den Artikel).
  • Erledige Deinen nächsten Amazon-Einkauf (zum Beispiel mein neues Buch "Spiele entwickeln mit Unity" ;-) ) über den folgenden Link: Amazon in Kostenloses Code-Analyse Tool: Gendarme for Unity. Der Link führt direkt zu Amazon und besitzt lediglich einen Kenner, der Amazon mitteilt, dass Du über diese Seite gekommen bist.

Vielen Dank für Deine Unterstützung - egal auf welche Weise :)

Both comments and pings are currently closed.

Comments are closed.