Secondlife != Secondlife: Performancetuning

performance_TeaseSecond Life® ist nicht gleich Second Life®. Das merkt man an den unterschiedlichen Regionen, insbesondere an deren Gestaltung und natürlich deren Performance. Genau darum soll es in diesem Artikel gehen.

Im Zeichen der Breakpoint, einer Veranstaltung auf der die 20 Jahre alte Multi-Media-Avant Garde zeigt, was vielleicht in 6 Jahren in Second Life® möglich ist, ging es urspünglich wie auch heute um Performance, um das Maximale aus einer Maschine herauszuholen.

Nun haben wir das Problem, mit Second Life® qualitativ mit einem Abstand von etwa 6 Jahren dem hinterherzulaufen was möglich ist. Dafür haben wir aber mit Second Life® die 3D-Vernetzung , ähnlich der Vernetzung, wie wir sie vom 2D-Internet her kennen. Und damit das Ganze Spaß macht und nicht in eine ruckelige Arie und heilloses Chaos abgleitet, möchte ich in diesem Artikel etwas zum Thema Second Life® und Performance schreiben.

Randbedingungen

Aufgrund der Natur von Second Life®, hinkt Second Life® in der 3D-Qualität ca. 6 Jahre dem hinterher, was heute möglich ist. Dafür bietet Second Life® andere Features wie einfache Vernetzung in einem dreidimensionalem virtuellen Raum für Jedermann, mit einem durchschnittlichen Rechner und einem durchschnittlichen Internet-Zugang. Darüber hinaus bietet Second Life® jedem Resident die Möglichkeit, dem GRID Content im Sinne von Web 2.0 hinzuzufügen. Das heißt, der einzelne Resident ist TEIL DER WELT (der Second Life® Welt, er gestaltet sie mit). Diese Features definieren auch die Randbedingungen, d.h. mit durchschnittlicher Benutzer-Bandbreite, durchschnittlichem Rechner usw. usf. nimmt man eine qualitativ schlechtere Grafik in Kauf. Möchte man eine Region schaffen, die weitestgehend ruckelfrei und mit Spaß explorierbar ist, enstehen hierbei besondere Herausforderungen für den Modellierer, den Programmierer und den Konzepter (!) Diese Herausforderungen möchte ich hier skizzieren und ein paar Tips geben, wie man an diese Herausforderungen herangehen kann.

Voraussetzungen

Menu Region EstateIch setze voraus, das der Leser Region Estate Manager ist. Dies bedeutet i.d.R. das man das Land bei Linden Lab® gekauft hat oder von dem Zwischenhändler den Status eines Real Estate Managers zugewiesen bekommt. Ein Region Estate Manager hat u.a. das Recht einen Rollback für eine komplette Region anzustoßen und hat Zugriff über die Region Estate-Tools, welche ihr im Menupunkt World->Region/Estate im Second Life® Client findet. Ein Region-Estate-Manager sollte sehr vorsichtig und sorgsam mit den Funktionen umgehen, die er über dieses Menu erreicht. Ebenso sollte sich der Owner einer Region genau überlegen, wem er die Rechte eines Region-Estate-Managers zuweist. Wenn ihr euch im Dialog des Region Estate Tools befindet, habt ihr folgende Tabs zur Verfügung: Region, Debug, Ground Textures, Terrain, Estate, Covenant. Ich möchte im Zusammenhang mit einem LSL-Performance-Tuning auf den Tab „Debug“ eingehen. Hier gelangt ihr über den Button „Get Top Scripts“ an eine Übersicht aller auf der Region aktiven Scripte.

GetTopScripts

Performance Analyse

Nun erscheinen alle Scripte. Hier seht ihr in der ersten Spalte die anteilig verbrauchte Zeit pro Frame. Diese Zeit sollte in der Summe auf keinen Fall 25 ms überschreiten (!). In unserem Fall, verbrauchen 184 Scripte insgesammt 2.7 ms. Später werde ich noch auf das Statistik-Tool eingehen, aus dem die Summe der verbrauchten Zeit für die Scripte hervorgeht. In der zweiten Spalte geht der Name des Prims hervor, indem das einzelne Script eingebettet wurde. Merke: Die ist nicht der Name des Scriptes, sondern der Name des Prims.

TopScripts

Ich habe euch hier einmal ein schlechtes Beispiel konstruiert, um zu zeigen, wie es NICHT sein sollte. Benennt eure Prims immer ordentlich, der Name <Object> für den fokusierten Prim im obigen Screenshot ist nichtssagend und erschwert die Analyse. In der dritten Spalte seht ihr aber den Namen des Verantwortlichen, ups, …, das bin ja ich ;-) Und in der letzten Spalte sehr ihr die Koordinaten des Objektes. Wenn ihr auf „Show Beacon“ klickt wird euch das Objekt InWorld durch den roten Leuchtstreifen und einen roten Pfeil markiert, sodaß ihr das Objekt leichter finden könnt. Ein Region Estate Manager sollte regelmäßig einen Blick auf diese Liste haben, schauen ob die Liste der Scripte und die verbrauchte Zeit nicht zu hoch ist und vor allem schauen, welche Scripte in welchen Objekten von wem laufen.

Lasst uns nun zu einem weiteren wichtigen Tool kommen, um die Performance einer Region zu analysieren: das Statistik-Tool. Ihr erreicht es über die Tastaturkombination Ctrl+Shift+1 oder über den Menueintrag View->Statistics Bar. Bei Aktivierung dieser Funktion werden euch permanent die Statistikwerte der aktuellen Region im oberen rechten Bereich des Screens eingeblendet.

Statistik

Die Statistiken bestehen aus drei Hauptunkten: Basic, Advanced und Simulator. In diesem Screenshot habe ich Simulator mit Klick auf den Text Simulator aufgeklappt und dann habe ich den Unterpunkt Time aufgeklappt. Hier seht ihr auch die Summe der komplett verbrauchen Zeit pro Frame: 3.8 ms. Mit diesen Infos könnt ihr euch ja einmal auf einigen SIMs bewegen und diese miteinander vergleichen. Ihr werdet enorme Unterschiede feststellen. Wichtig für einen ruckelfreien SIM ist auch der Wert <Sim FPS> (Frames per second).

Weitere Informationen über euren SIM erfahrt ihr auch unter das About-Fenster eures Second Life®-Clients. Im folgenden Screenshot sehr ihr die IP-Adresse des SIMs Frankfurt West.

Frankfurt

Mit dieser Info lässt sich zum Beispiel die Ping-Response-Time des Servers, auf dem Frankfurt West läuft, von außen herausfinden. Meiner Meinung handelt es sich hier allerdings auch um ein Sicherheitsloch. Diese Information eignet sich hervorragend für eine DDOS-Attacke. Ich sollte eigentlich keinen Zugriff auf diese Information der Region haben, da ich weder Owner noch Region Estate Manager von Frankfurt West bin.

Zusammenfassung

Zusammenfassend habe ich natürlich nur an der Spitze des Eisberges der Möglichkeiten des Performancetunings gekratzt. SLTalk & Partner schreibt aber gerade die Erfahrungen über SL-Performance in einem Whitepaper zusammen und sobald dieses fertig ist, werden wir es veröffentlichen. Bis dahin hier noch ein paar Tips:

  1. Modellierung: Detailgrad der Prims
  2. Im Gegensatz zu WOW ist Second Life® im klassischen Sinn kein Spiel, bei dem es im hohem Maße um Grafikqualität geht. Nach diesem Motto ist weniger manchmal mehr. Zu viele Prims und zu detailierte Objekte sind nicht immer sinnvoll, da diese die Performance zu sehr belasten. Weniger ist also mehr. Ein kleinerer Detailgrad in den Objekten führt zu mehr Performance des SIMs. Fragt euch z.B. ob für die Rolle eines Bürostuhls der Bolzen notwendig ist oder nicht? Setzt dies in Relation zum Gesamtkonzept des SIMs. Verwendet lieber einen Prim mit einer größeren Textur, als mehrere Prims mit mehreren Texturen, z.B. für eine Fotogalerie. Legt einen Teppich oder Fließen für einen Boden nicht als extra Prim mit Textur in den Raum, sondern legt die Textur auf den Trägerprim des Stockwerkes usw. usf. Hier kann man schon viel herausholen. Außerdem versucht nur 2/3 der zur Verfügung stehenden Prims zu nutzen.

  3. Programmierung LSL
  4. Verschafft euch, wie oben gezeigt, einen Übersicht über alle laufenden LSL-Scripte. Hinterfragt, ob ihr wirklich alle Scripte braucht. Auch „Update“-Scripte und Steuerscripte von gekaufen Objekten sind oftmals nicht wirklich notwendig. Modelliert und schreibt die Objekte lieber selbst, wenn ihr die Performance erhöhen wollt.

  5. SIM-Management
  6. Das A und O ist natürlich das SIM-Management. Wenn ihr mit mehreren Leuten entwickelt, dann entwerft einen Modelling- und Scripting-Style-Guide, aus dem z.B. Dinge hervorgehen, das jedes Objekt ordentlich benannt wird usw. usf. Hier greifen durchaus auch die gängigen Regeln des klassischen Software-Engineerings.

    Seid euch im klaren, wen ihr auf euren SIM lasst. Es gibt einige deutsche Regionen die beispielhaft demonstrieren, wie man es nicht machen sollte (die Namen der SIMs erspare ich mit einmal, ihr kennt sie). Lässt man „Jeden wild durch die Gegend bauen“, kann auch eine schecht gemanagte private Estate wie das klassische Mainland zu einem Rohkrepierer werden.

Über Andreas Mertens

Andreas Mertens aka Patrick Wunderland (SL) ist Initiator von avameo und schreibt seit 2006 für diesen Blog.

Kommentare

  1. Guter Artikel!

    „Aufgrund der Natur von Second Life, hinkt Second Life in der 3D-Qualität ca. 6 Jahre dem hinterher, was heute möglich ist.“

    Endlich mal jemand, der das öffentlich ausspricht. Ich glaube man muss diesen Umstand emotionslos akzeptieren und mit dem arbeiten was zur Verfügung steht.

    Für die nahe Zukunft sehe ich eine Menge besser aussehende Konkurenz auf Linden Lab zu kommen.

    gruß

    rock soderstrom
    http://www.lifeforyou.tv
    http://slurl.com/secondlife/Big%20Bit/69/77/28/

  2. cv says:

    guter, und hilfreicher beitrag. weiter so:)

  3. TSCHO_MALIBU says:

    Sehr guter Beitrag

    Besten Dank

    Ich bin einer aus der alten Garde, BTX/VTX…

    Ich sehe es mit sehr gelassen Augen und irgendwie lernen wir nichts von vergangenem.

    Wir haben SL. Haben wir was Anderes? Können wir wählen?

    Ja mit der Maus auf down oder bei up bleiben.

    All die, die hier ihren „Senf“ kund tun, mich eingeschlossen. Freuen wir uns doch, dass es so ist wie es ist, freuen wir uns doch, dass es überhaupt so ist. Wie gesagt gelassen. Wir arbeiten zu 100% in Firstlife für Secondlife.

    Wir freuen uns, dass es so viele verschiedene Möglichkeiten gibt hier in SL, eben wie in First Life auch. Nur nicht so Nahe, so einfach halt.

    Uns perönslich kommt die ganze Sache so vor wie damals, als Microsoft ihren Hype hatte. warten wir es ab…
    Auch wenn viele schimpfen auf Microsoft/Linden Lab…ohne die wären wir ned hier…

    Grüsse aus der Schweiz

    SWISS-Second-Life-GROUP

Trackbacks

  1. […] nach einem Kurzbesuch eben auf der Sim Frankfurt City: Alles bis Anschlag zugebaut, sehr schlechte Performance (zu hohe Auslastung der Simulation).   Füge diesen Artikel als Bookmarks hinzu […]

Ihre Meinung ist uns wichtig

*