<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>avameo &#187; Performancetuning</title>
	<atom:link href="http://www.avameo.de/index.php/category/techtalk/sl-techtalk/performancetuning/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.avameo.de</link>
	<description>by Patrick Wunderland</description>
	<lastBuildDate>Fri, 30 Jul 2010 13:49:11 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	
		<item>
		<title>LSL versus Mono Performancevergleich</title>
		<link>http://www.avameo.de/index.php/2008/04/16/lsl-versus-mono-performancevergleich/</link>
		<comments>http://www.avameo.de/index.php/2008/04/16/lsl-versus-mono-performancevergleich/#comments</comments>
		<pubDate>Wed, 16 Apr 2008 08:40:13 +0000</pubDate>
		<dc:creator>Michael Wald</dc:creator>
				<category><![CDATA[Innovationen]]></category>
		<category><![CDATA[Performancetuning]]></category>
		<category><![CDATA[Technik]]></category>
		<category><![CDATA[Tools]]></category>
		<category><![CDATA[avameo]]></category>
		<category><![CDATA[Benchmark]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[Index]]></category>
		<category><![CDATA[Leistungssteigerung]]></category>
		<category><![CDATA[Linden Scripting Language]]></category>
		<category><![CDATA[Mono]]></category>
		<category><![CDATA[Performance]]></category>
		<category><![CDATA[Programmiersprache]]></category>
		<category><![CDATA[Recht]]></category>
		<category><![CDATA[Script]]></category>
		<category><![CDATA[Scripting]]></category>
		<category><![CDATA[Second Life]]></category>
		<category><![CDATA[Sprache]]></category>
		<category><![CDATA[Video]]></category>
		<category><![CDATA[YouTube]]></category>
		<category><![CDATA[Zeit]]></category>

		<guid isPermaLink="false">http://www.avameo.de/?p=1877</guid>
		<description><![CDATA[Die in Second Life&#174; verwendete Programmierspache LSL wurde ja bekannter weise um eine weitere Sprache namens Mono ergänzt. Hier sieht man im Video einen Vergleich bezüglich der unterschiedlichen Leistungspotenziale. Links im Bild Code mit LSL, rechts mit Mono ausgeführt. Beide Scripte wurden Zeitgleich gestartet.]]></description>
			<content:encoded><![CDATA[Die in Second Life&reg; verwendete Programmierspache <a href="http://en.wikipedia.org/wiki/Linden_Scripting_Language" target="_blank">LSL</a> wurde ja <a href="http://www.avameo.de/index.php/2008/02/06/second-life-nachster-meilenstein-mono/" target="_self">bekannter</a> weise um eine weitere Sprache namens <a href="http://wiki.secondlife.com/wiki/Mono" target="_blank">Mono</a> ergänzt. Hier sieht man im Video einen Vergleich bezüglich der unterschiedlichen Leistungspotenziale. Links im Bild Code mit LSL, rechts mit Mono ausgeführt. Beide Scripte wurden Zeitgleich gestartet.<p><center><object width="425" height="355"><param name="movie" value="http://www.youtube.com/v/mn8Sd013sM8&#038;hl=en"></param><param name="wmode" value="transparent"></param><embed src="http://www.youtube.com/v/mn8Sd013sM8&#038;hl=en" type="application/x-shockwave-flash" wmode="transparent" width="425" height="355"></embed></object></center>]]></content:encoded>
			<wfw:commentRss>http://www.avameo.de/index.php/2008/04/16/lsl-versus-mono-performancevergleich/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Secondlife != Secondlife: Performancetuning</title>
		<link>http://www.avameo.de/index.php/2007/04/07/secondlife-ist-nicht-secondlife-performancetuning/</link>
		<comments>http://www.avameo.de/index.php/2007/04/07/secondlife-ist-nicht-secondlife-performancetuning/#comments</comments>
		<pubDate>Sat, 07 Apr 2007 10:01:45 +0000</pubDate>
		<dc:creator>Patrick</dc:creator>
				<category><![CDATA[Performancetuning]]></category>
		<category><![CDATA[Technik]]></category>
		<category><![CDATA[3D]]></category>
		<category><![CDATA[avameo]]></category>
		<category><![CDATA[Übersicht]]></category>
		<category><![CDATA[Client]]></category>
		<category><![CDATA[EU]]></category>
		<category><![CDATA[Fun]]></category>
		<category><![CDATA[GRID]]></category>
		<category><![CDATA[Index]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[Kunst & Kultur]]></category>
		<category><![CDATA[linden lab]]></category>
		<category><![CDATA[Linden Scripting Language]]></category>
		<category><![CDATA[Modelling]]></category>
		<category><![CDATA[Multimedia]]></category>
		<category><![CDATA[Performance]]></category>
		<category><![CDATA[Pioniere]]></category>
		<category><![CDATA[Recht]]></category>
		<category><![CDATA[Script]]></category>
		<category><![CDATA[Scripting]]></category>
		<category><![CDATA[Second Life]]></category>
		<category><![CDATA[Statistik]]></category>
		<category><![CDATA[Texturen]]></category>
		<category><![CDATA[Ton]]></category>
		<category><![CDATA[Tools]]></category>
		<category><![CDATA[Uni]]></category>
		<category><![CDATA[Veranstaltung]]></category>
		<category><![CDATA[Vernetzung]]></category>
		<category><![CDATA[Web 2.0]]></category>
		<category><![CDATA[WoW]]></category>
		<category><![CDATA[Zeit]]></category>

		<guid isPermaLink="false">http://www.avameo.de/index.php/2007/04/07/secondlife-ist-nicht-secondlife-performancetuning/</guid>
		<description><![CDATA[Second Life&#174; ist nicht gleich Second Life&#174;. 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&#174; möglich ist, [...]]]></description>
			<content:encoded><![CDATA[<img vspace="8" hspace="8" align="left" src="http://www.avameo.de/wp-content/uploads/2007/04/teaser1.jpg" alt="performance_Tease" />Second Life&reg; ist nicht gleich Second Life&reg;. 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 <a href="http://www.lawsofform.de/index.php/2007/04/08/die-avant-garde-der-multimediakunst/" target="_blank">Zeichen der Breakpoint</a>, einer Veranstaltung auf der die 20 Jahre alte Multi-Media-Avant Garde zeigt, was vielleicht in 6 Jahren in Second Life&reg; 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&reg; qualitativ mit einem Abstand von etwa 6 Jahren dem hinterherzulaufen was möglich ist. Dafür haben wir aber mit Second Life&reg; die 3D-Vernetzung <span id="more-530"></span>, ä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&reg; und Performance schreiben.

<h3>Randbedingungen</h3>
Aufgrund der Natur von Second Life&reg;, hinkt Second Life&reg; in der 3D-Qualität ca. 6 Jahre dem hinterher, was heute möglich ist. Dafür bietet Second Life&reg; 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&reg; 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&reg; 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.

<h3>Voraussetzungen</h3>
<img id="image532" src="http://www.avameo.de/wp-content/uploads/2007/04/world_region_estate.jpg" alt="Menu Region Estate" vspace="8" hspace="8" align="right"/>Ich setze voraus, das der Leser Region Estate Manager ist. Dies bedeutet i.d.R. das man das Land bei Linden Lab&reg; 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&reg; 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.

<div align="center">
<img id="image533" src="http://www.avameo.de/wp-content/uploads/2007/04/get_top_scripts.jpg" alt="GetTopScripts" /></div>

<h3>Performance Analyse</h3>
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.
<div align="center">
<img id="image534" src="http://www.avameo.de/wp-content/uploads/2007/04/top_scripts.jpg" alt="TopScripts" />
</div>Ich habe euch hier einmal ein schlechtes Beispiel konstruiert, um zu zeigen, wie es NICHT sein sollte. Benennt eure Prims immer ordentlich, der Name &lt;Object&gt; 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 <img src='http://www.avameo.de/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' />  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.
<div align="center">
<img id="image535" src="http://www.avameo.de/wp-content/uploads/2007/04/statistik_ok.jpg" alt="Statistik" /></div> 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 &lt;Sim FPS&gt; (Frames per second).

Weitere Informationen über euren SIM erfahrt ihr auch unter das About-Fenster eures Second Life&reg;-Clients. Im folgenden Screenshot sehr ihr die IP-Adresse des SIMs Frankfurt West.
<div align="center"><img id="image536" src="http://www.avameo.de/wp-content/uploads/2007/04/server_ip.gif" alt="Frankfurt" /></div>
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.

<h3>Zusammenfassung</h3>
Zusammenfassend habe ich natürlich nur an der Spitze des Eisberges der Möglichkeiten des Performancetunings gekratzt. SLTalk &amp; 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:

<ol>
<li>Modellierung: Detailgrad der Prims</li> Im Gegensatz zu WOW ist Second Life&reg; 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.
<li>Programmierung LSL</li>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.
<li>SIM-Management</li>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.</ol>]]></content:encoded>
			<wfw:commentRss>http://www.avameo.de/index.php/2007/04/07/secondlife-ist-nicht-secondlife-performancetuning/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Wachstum bei Linden Labs / Secondlife</title>
		<link>http://www.avameo.de/index.php/2007/02/16/wachstum-bei-linden-labs-secondlife/</link>
		<comments>http://www.avameo.de/index.php/2007/02/16/wachstum-bei-linden-labs-secondlife/#comments</comments>
		<pubDate>Fri, 16 Feb 2007 11:03:00 +0000</pubDate>
		<dc:creator>Patrick</dc:creator>
				<category><![CDATA[Performancetuning]]></category>
		<category><![CDATA[RLWorld]]></category>
		<category><![CDATA[Technik]]></category>
		<category><![CDATA[3D]]></category>
		<category><![CDATA[Blog]]></category>
		<category><![CDATA[EU]]></category>
		<category><![CDATA[Firmen]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[GRID]]></category>
		<category><![CDATA[Hardware]]></category>
		<category><![CDATA[Here]]></category>
		<category><![CDATA[linden lab]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Modelling]]></category>
		<category><![CDATA[Pioniere]]></category>
		<category><![CDATA[Projekt]]></category>
		<category><![CDATA[Tanz]]></category>
		<category><![CDATA[Traffic]]></category>
		<category><![CDATA[Zeit]]></category>

		<guid isPermaLink="false">http://www.avameo.de/index.php/2007/02/16/wachstum-bei-linden-labs-secondlife/</guid>
		<description><![CDATA[Linden Labs braucht aufgrund des hohen Wachstums dringend Hilfe im Bereich IT-Betrieb. Am Grid ist dies deutlich zu spüren. Es ist oft sehr langsam, ich vermute Linden Labs kommt mit dem Aufbau neuer Hardware nicht hinterher. In dem Blogbeitrag schreibt Philip Linden, dass Sie vor technischen Herausforderungen bzgl. des Wachstums stehen, die viele Firmen noch [...]]]></description>
			<content:encoded><![CDATA[Linden Labs braucht aufgrund des hohen Wachstums dringend Hilfe im Bereich <a href="http://blog.secondlife.com/2007/02/15/help-wanted-we-need-a-leader-of-global-technical-operations/" target="_blank">IT-Betrieb</a>. Am Grid ist dies deutlich zu spüren.<span id="more-199"></span> Es ist oft sehr langsam, ich vermute Linden Labs kommt mit dem Aufbau neuer Hardware nicht hinterher. In dem <a href="http://blog.secondlife.com/2007/02/15/help-wanted-we-need-a-leader-of-global-technical-operations/" target="_blank">Blogbeitrag</a> schreibt Philip Linden, dass Sie vor technischen Herausforderungen bzgl. des Wachstums stehen, die viele Firmen noch nie gesehen haben. Das kann ich mir gut vorstellen. Der Zeitraum zwischen Bestellung eines SIMS (Insel) und der Freigabe kann bis zu 8 Wochen dauern. Linden Labs betreibt tausende von Linux-Servern (über 3000) an zwei Standorten, haben einen Traffic-Peak von 6Gbit pro Sekunde (!) und 100 Millionen MySQL-Transaktionen pro Tag. Aufgrund des hohen Datenvolumens für 3D-Daten (trotz Parametric Modelling) steht Linden Labs möglicherweise vor Herausforderungen in der Größenordnung eines Googles, Amazon, Ebay. Möglicherweise sogar höheren Herausforderungen. Ebenso ist ein hoher Anstieg an Kundenfragen zu verzeichnen, die eine SL-Repräsentanz ihrer RL-Firma realisieren wollen. Professionelle Projektabwickler sind deshalb gut beraten aufgrund der hohen SIM-Wartezeiten eine eigene SIM-Queue aufzubauen oder bestehende Inseln zu kaufen, die jedoch im Preis teilweise doppelt so hoch gehandelt werden, als eine Direktbestellung bei Linden Labs.]]></content:encoded>
			<wfw:commentRss>http://www.avameo.de/index.php/2007/02/16/wachstum-bei-linden-labs-secondlife/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Minified using disk
Page Caching using disk (enhanced) (user agent is rejected)

Served from: www.avameo.de @ 2010-08-01 03:23:58 -->