Mittwoch, 16. Mai 2012

Region Idling - Linden Labs Kampf gegen den Lag

Das Main Grid
Als ich eben das fehlende Projekt für BlueSteel zu den heutigen Aufspielungen auf die RC-Server nachgetragen habe, war ich überrascht, dass sich Linden Lab mal wieder an etwas Innovatives herantraut. Für sie selbst scheint es ebenfalls etwas von Bedeutung zu sein, denn parallel zu Oskar Lindens Ergänzung für den RC Kanal BlueSteel, hat Simon Linden noch zwei weitere Threads im Server-Forum gestartet.

Das neue Projekt nennt sich "Region Idling" und soll die Performance fast aller Regionen im Second Life Main Grid verbessern. Dabei wird eine Region, auf der sich kein Avatar befindet und/oder auf die kein Avatar schaut, einfach auf eine niedrige Region FPS heruntergefahren. Die eingesparte Rechenleistung steht dann allen anderen Regionen zur Verfügung, die sich auf dem selben Server (der selben CPU) befinden. Denn je nach Klasse eines Servers, teilen sich bis zu 32 Sims eine gemeinsame Mehrkern-CPU.

Simon Linden beschreibt es in seinem Thread so:
"Dies arbeitet wie ein modernes Gebäude, das automatisch die Beleuchtung reduziert, wenn jemand den Raum verlässt. Wenn niemand im Raum ist, gibt es keinen Grund, dass die Beleuchtung eingeschaltet ist und man kann durch Ausschalten des Lichts Energie einsparen. Mit Region Idling werden Second Life Server automatisch ihre Frame Rate herunterfahren, wenn sich keine Bewohner in der Region befinden, oder in sie hineinschauen. Die Server kehren zu voller Leistung zurück, wenn jemand diesen Bereich betritt.

Wir erwarten, dass diese Funktion komplett unsichtbar für die Nutzer ablaufen wird. Einwohner werden keine Regionen sehen oder in ihnen sein, die sich im Leerlauf befinden. Skripte werden diesen Effekt jedoch aufzeichnen, wenn sie die Funktion llGetRegionTimeDilation() verwenden. Evtl. müssen diese dann repariert werden.

Linden Lab wird zu Beginn mit Region Idling auf den BlueSteel RC Kanälen starten und später wird es dann auf dem gesamten Grid ausgerollt."

Im Ankündigungsthread von Simon ist auch ein weiterer Link zu einer FAQ zu finden, die sich mit dem Region Idling befasst. Allerdings sind noch längst nicht alle Fragen geklärt, die sich um das neue Thema drehen. So wird zum Beispiel gefragt, ob das Region Idling in irgendeiner Weise die Breedable Tiere beeinflusst. Oder ob die Anwesenheit eines Bot den Idling-Status aufhebt. Im Thread-Verlauf hat Simon schon mal erwähnt, dass der Wechsel zwischen Leerlauf und voller Performance innerhalb von Millisekunden stattfindet. Wird also spannend, was die technischen Details angeht...^^

Link zum Ankündigungs-Thread:

Und hier der Link zur FAQ:

Das Ganze bezieht sich auf:

4 Kommentare:

  1. chefkoch.resident16. Mai 2012 um 14:05

    Das klingt interessant, bin auch gespannt.
    Letz Idle! :)

    AntwortenLöschen
  2. Joshua Philgarlic16. Mai 2012 um 19:07

    Na, da bin ich mal gespannt! Im Prinzip ist sowas ja zu begrüßen, aber ob die Auswirkungen auf Script, die auf der Sim laufen, bis in's letzte bedacht wurden, da habe ich so meine Zweifel...

    AntwortenLöschen
  3. @Joshua:
    Soweit ich bis jetzt lesen konnte, werden Skripte, die llGetRegionTimeDilation() verwenden, betroffen sein. Diese Funktion wird oft eingesetzt, um den Status einer Region abzufragen.

    Laut Simon Linden wird eine Region im Idling von 45 auf 10 FPS runtergefahren. Bei bisherigen Regions Info-Skripten wird dieser Wert als Problem für die abgefragte Region ausgegeben.

    Bei allen Skripten, die in Zeitintervallen eine Netzwerkverbindung aus SL heraus aufbauen (HTTP-Request, Email), wird für die Abfrage einen kurzen Moment wieder auf 45 FPS erhöht. Der Wechsel zwischen 45 und 10 FPS soll dabei so schnell ablaufen, dass sogar zwischen Anfrage und Antwort eines HTTP-Request wieder auf 10 FPS runtergeschaltet wird.

    Wenn jemand allerdings in seinen Skripten Zeitabläufe berechnet, indem er Simulator-Frames zählt, anstatt eine der LSL Zeitfunktionen zu verwenden (z.B. llGetUnixTime()), dann wird das Ergebnis wohl falsch sein. Das könnte evtl. bei einigen Breedables der Fall sein, um bei extrem langen Lag-Phasen ein "Verhungern" der Tiere zu vermeiden.

    AntwortenLöschen