Scripte an sich machen in SL seit über einem Jahr nun
normalerweise keinen Lag mehr, was daran liegt, dass die Scripte auf dem Server nur dann ausgeführt werden, wenn dieser noch in vertretbarem Rahmen Zeit dafür über hat. Braucht der Server viel Rechenzeit für die Scripts und sinkt die Framerate des Server dadurch zu stark (unter 35FPS bis 40 FPS - normalerweise läuft der Server mit 45FPS), dann wird die Ausführung von Scripts verzögert oder ganz angehalten. Bis die Framerates wieder hoch genug sind. Was aber selten vor kommt, da SL auf dem Server nun virtualisiert läuft. So dass sich eben meist 8 Sims die Rechenleistung von 8 CPUs teilen. Und wenn ein Sim keine Leistung braucht, dann kann die von anderen Sims genutzt werden. Das geht sogar so weit, dass Sims, in denen nicht los ist auf eine Art "Standby" gehen. So dass mehr Rechenleistung für die anderen über ist.
Ebenso spielt die Anzahl der Scripts keine Rolle, auch nicht hinsichtlich des Speichers: Zum einen gibt es diese alte Limitation auf "300MB für alle Scripts pro Sim" (= 19200 LSO Scripts bzw. mindestens 4800 Mono Scripts) nicht mehr wirklich. Das läuft nun über virtuelle Maschinen, d.h. da teilen sich 8 Sims eben mind. 8GB RAM. Braucht z.B. ein Sim nur 600MB RAM, dann kann ein anderer die übrigen 400MB mitnutzen.
Dazu kommt noch, dass zwar die alten LSO-Scripts immer 16kB Speicher brauchen - die neuen Mono Scripts brauchen aber nur jeweils den Speicher, den sie auch wirklich belegen, das kann irgendwas sein zwischen 5kB (minimale Größe bei Mono) und 64kB. Zudem kann Mono Bytecode-Sharing. D.h. bei vielen identischen Kopien von Scripts auf einem Sim werden Teile des Mono-Bytecodes nur einmal geladen, und auf das greifen dann auch die anderen Scripts zu. Deswegen kann es gut sein, dass ein Objekt mit z.B. 100 Scripten eben nicht die per "Script-Anzeiger" angezeigten 100 x 64kB = 6,25MB belegen. Es kann gut sein, dass da auf dem Server wirklich nur z.B. 15kB + 99 * 7kB = 708kB belegt sind.
Leider gibts keine echte Möglichkeit die Scriptbelastung auf dem Server wirklich genau zu analysieren. Näherungsweise kann man (wenn man die Rechte hat) das Top-Menu nutzen. Das zeigt mittlerweile zum Glück nicht mehr einen "Momentanzustand" an, sondern die durchschnittliche Scriptlast der letzten 30 Minuten. (Bzw. wenn ein Script länger auf dem Sim war die mittlere Last über der Zeit, in der es auf dem Sim ist.)
Das ist zwar schon wesentlich besser als die alte "Schnappschussmethode" - aber irgendwelche kurzen Spitzenlasten kriegt man damit halt nicht raus. D.h. wenn ein Script für 29min 30s einfach nichts gemacht hat - aber dann 30s lang Terror macht, dann fällt das nun auch nicht wirklich auf.
[ANM: Deswegen kann man hier nur an die Scripter appellieren bitte genau zu überlegen was man da tut, warum man das tut und wie man das dann tut. Und BITTE nicht einfach irgendwelche Scriptteile verwenden, wenn man nicht wirklich weiß und verstanden hat, was da genau passiert, etwa aus irgendwelchen Beispiel-Sammlungen. Man kann nämlich mit einem entsprechend mies geschriebenen Script leider immer noch einen Sim ausbremsen... bis zum Reboot, wenn es sein muss.]
Was die Netzwerk-Probleme angeht:SL braucht mittlerweile
massiv Bandbreite! Und mit massiv meine ich wirklich viel.
Früher, vor 6 Jahren gings mit ein paar Abstrichen sogar noch mit ISDN, mit 128 kbits. Es hat gedauert bis alles geladen war - aber es ging.
Heute reicht das dank Meshes und dank Server Side Baking bei weitem nicht mehr - selbst mit UMTS oder DSL-Light (384kBits) ist SL nicht mehr benutzbar. (Bzw. mit DSL-Light nur dann, wenn man massiv am Viewer eingreift und vieeel Geduld hat). Und selbst 1 Mbit oder 2 Mbit sind eigentlich noch viel zu wenig. Das Problem ist, dass SL nun alles per http überträgt (was nicht wirklich gedrosselt werden kann und die Leitungen schnell mal verstopft) - und dass vor allem ziemlich viele Daten übertragen werden müssen. D.h. wer in einen Club kommt, in dem z.B. 20 Avas tanzend zappeln, der muss damit rechnen, dass jetzt nicht nur die 100 Texturen der Avas per http übertragen werden müssen, zusätzlich müssen auch grob geschätzt 2000 bis 4000 weitere Texturen übertragen werden (je nach Club), was für sich gesehen in so einem Club schon mal locker 20M bis 50MB Daten für Texturen ausmacht. Texturen sind eben irgendwo jeweils zwischen 2kB und 512kB groß pro Stück beim Laden. Dazu kommen aber dann noch die Mesh-Daten. Und Meshes können leider auch recht groß werden. D.h. pro Mesh sind 3MB bis 5MB durchaus möglich, auch wenn es natürlich viele kleinere Gibt. So dass am Ende eben locker erst mal 100MB bis 200MB an Daten übers Netz müssen, bis alles dargestellt werden kann. Ist zudem noch viel Los mit Gesten + Sounds + Animationen, dann muss das auch alles noch durchs Netz. Und kommen und gehen immer wieder Leute, dann wird da ständig neues geladen. So dass man durchaus mal 250MB bis 500MB aus dem Netz laden muss, bis alles "da" ist.
(Jup - "SL Mobil" ist wirklich ein Problem damit. Viele haben nicht mal die 500MB bis die Drossel kommt...)
Und solange das nicht alles geladen ist, ist die Netzwerkverbindung eben voll ausgelastet.
Bei einer 16 Mbit Anbindung ist das kein Ding: Selbst 400MB bis 500MB (voller Club, viele Texturen durch viele Vendoren, ständig kommen Leute etc.) brauchen eben mal wenige Minuten. Selbst volle Clubs sind in 3 bis 4 Minuten geladen. Danach lädt der Viewer kaum noch was aus dem Netz (um die 5kByte/s). Und auch der Upload wird kaum benötigt (auch um die 5 kByte/s). Man hat das Netz also recht schnell wieder frei. Mit einer 2 MBit Anbindung dauert das leider ein bisschen länger. Da man oft nur 2000 kiBits = 250 KByte/s hat dauert es eben locker mal weit über 20 Minuten, bis so ein voller Club geladen ist. Hat man gar nur DSL-Llight, dann dauert das möglicherweise bis zu einer Stunde. (Weil dann ja noch andere Probleme wie Timeouts usw. auftreten, so dass man effektiv noch mal länger warten muss.) Und in der Zeit ist die eigene Internetverbindung zu 100% ausgelastet.
Das bedeutet auch, dass man sich zwar schon bewegen kann - aber eben leider nur mit massiven Verzögerungen.
Abhilfe gibt es leider keine. Alles, was da hilft ist vieel Geduld, wer DSL-Light hat kann (eher: muss) bisschen am Viewer schrauben (und Mesh-Downloads limitieren, udp-Texturen mit niedriger Download-Rate nutzen usw.)
Oder schnelleres Internet nutzen.
Wer sehen will, wie viel Bandbreite man so belegt:
Windows 7 hat z.B. im Taskmanager unter dem Tab "Leistung" Zugang zum Ressourcenmonitor. Damit kann man sich Details über den Traffic anzeigen lassen. Z.B. was der Firestorm oder LL Viewer und SLPlugin so übers Netz schaufelt. Allerdings muss man da bisschen raten manchmal.
Einfacher ist es, wenn man Zugriff auf den Router hat. Viele bessere Router zeigen da direkt die Netzwerkauslastung an im Verwaltungsmenu.
Und richtig komfortabel gehts mit einer Fritzbox: Da gibts z.B. das Tool hier:
http://www.bawe.eu/cms/Projekte/Fritz!Box Traffic.html
Das ist ein Win7-Gadget, das direkt den aktuellen Internet-Traffic auf der Fritzbox anzeigt. Dazu muss man nur auf der Fritzbox einstellen (unter Heimnetz/Netzwerkeinstellungen z.B.), dass UpnP-Statusinformationen (Netzwerkstatus) ausgelesen werden dürfen. (Ist kein Sicherheitsproblem, da nur aus dem Heimnetz erreichbar und die Box so nur ausgelesen werden kann).
Wenn man da sieht, dass das Netz zu 100% ausgelastet ist, dann braucht man sich auch über Lag oder graue Avas oder nicht geladene Texturen nicht wundern.
TL;DR?
a)Scripts machen keinen lag mehr.
b) SL braucht viele Daten aus dem Netz. Wenn das Netz voll ausgelastet ist hat man dadurch lag.