Donnerstag, 28. Mai 2015

Linden Lab testet Erhöhung des Avatar-Limit für Regionen

Großveranstaltung in SL
Am letzten Dienstag gab es während dem Server-Skripting Inworld-Treffen eine interessante Information von Simon Linden. Da das Thema inzwischen von Nalates Urriah und Inara Pey in verschiedenen Blogposts angesprochen wurde, fasse ich diese Infos mal kurz zusammen.

Simon sprach beim Meeting darüber, dass er nach Möglichkeiten sucht, mehr Avatare auf einer SL-Region zu erlauben als es heute machbar ist. Aktuell liegt ja die Grenze einer Homestead bei 20 Avataren und bei einer Fullprim-Region bei 100 Avataren. Wobei die Performance bei einer Fullprim schon bei etwa 60 bis 70 Avataren leicht kritisch wird.

Die Idee von Simon ist es nun, den Mehraufwand für Server und Viewer durch eine erhöhte Anzahl von Avataren über andere Beschränkungen zu kompensieren. Dafür gibt es mehrere Ansätze. Einer ist, die Nutzer im Viewer entscheiden zu lassen, wie viele Avatare sie gleichzeitig sehen wollen. Nur diese Anzahl wird dann im Viewer gerendert und der Server sendet auch nur für diese Avatare die erforderlichen Daten an den Viewer. Somit wären beide Systeme entlastet.

Ein anderer Ansatz ist, dass der Viewer automatisch alle Avatare nicht mehr rendert, die ein im Programmcode festgelegtes Limit auf der Region überschreiten. Dabei würden die Avatare, die vom jeweiligen Viewer-Nutzer am weitesten entfernt sind, als erstes ausgeblendet. Das bedeutet, im unmittelbaren Umfeld blieben alle Avatare sichtbar.

Zur Zeit sind diese Ideen nur experimentell und es ist nicht sicher, ob und in welcher Form so etwas in SL eingeführt wird. Aber laut Simon sollen schon "in Kürze" erste Tests durchgeführt werden. Für diese Tests hat Simon die Servereinstellungen so angepasst, dass er beliebig das Avatar-Limit einer Region ändern kann. Diese Einstellungen sollen in einer der nächsten Server-Updates (kein genaues Datum) auf die RC-Regionen aufgespielt werden.

Einen konkreten Plan, das Limit der Regionen nach oben zu erweitern, gibt es bei Linden Lab noch nicht. Es geht erst einmal darum, festzustellen, welche Möglichkeiten es gibt. Eventuell werden die Erkenntnisse dieses Projekts auch nur dazu genutzt, die heutige Grenze von 100 Avataren auf einer Fullprim stabiler hinzubekommen.

Nach den Infos zu diesem Projekt, überreichte Simon den Meeting-Teilnehmern noch eine Notecard mit einigen Tipps zum Avatar-Rendering. Enthalten waren Debug Settings und Grafikeinstellungen, die man auch heute schon im Viewer verwenden kann. Zum Beispiel, wenn man bei großen Events weniger Probleme beim Laden der Avatare haben will.

Die folgenden Einstellungen sind die Empfehlungen von Simon Linden.

Debug Settings
  • RenderAutoHideSurfaceAreaLimit = 0
    Legt die maximale Größe für die Oberfläche der umgebenden Objekte fest. Wird sie überschritten, werden Objekte ausgeblendet. Wirkt sich nicht auf Avatare aus. 0 bedeutet kein Limit.
  • RenderAutoMuteByteLimit = 0
    Legt die maximale Größe der Attachments eines Avatars fest. Wird sie überschritten, werden die betroffenen Avatare in einer vereinfachten Darstellung gerendert (Impostors). 0 bedeutet kein Limit. Nalates empfiehlt für überfrachtete Avatare einen Wert von 4000000.
  • RenderAutoMuteFunctions = 7
    Das ist nur ein Schalter für die Funktion RenderAutoMuteRenderWeightLimit (siehe weiter unten). Für aktives Ausblenden von überfrachteten Avataren muss dieser Wert auf 7 bleiben.
  • RenderAutoMuteLogging = False
    Damit werden Aktionen für Auto-Muting in einer Log-Datei protokolliert. Mit "False" ist es ausgeschaltet.
  • RenderAutoMuteRenderWeightLimit = 350000
    Legt den maximalen Aufwand zum Rendern eines kompletten Avatars fest. Dieser Wert wird anhand der Avatar Render Cost (ARC) berechnet. 350000 ist nur eine sehr vorsichtige Empfehlung, die vielleicht die oberen 3% der überfrachteten Avatare erkennt. Nalates und Inara empfehlen hier aus eigenen Tests Werte zwischen 100000 und 200000. Überschreiten Avatare diesen Wert, werden sie als bunte, vereinfachte Gummibärchen gerendert.
  • RenderAutoMuteSurfaceAreaLimit = 150
    Legt die maximale Größe für die Oberfläche von Avatar-Attachments fest. Wird sie überschritten, werden die betroffenen Avatare in einer vereinfachten Darstellung gerendert (Impostors). 0 bedeutet kein Limit.

Grafikeinstellungen
  • Max. Anzahl an voll dargestellten Avataren = 8
    Legt fest, wie viele Avatare in jedem Fall voll dargestellt werden. Heißt im englischen Viewer "Max # of non-imposter avatars". Standardwert ist 12.

Weitere Tipps
  • Strg + Alt + Umschalttaste + 4
    Blendet alle Avatare aus (und nochmaliges Drücken wieder ein). Kann als kurzfristige Hilfe genommen werden, wenn die FPS bei großen Events völlig in den Keller geht.
  • Strg + Alt + Umschalttaste + 2
    Schaltet das Rendering für alle Objekte aus, bei denen ein Alphakanal in der Textur enthalten ist.

Ich habe die ganzen Werte selbst noch nicht ausprobiert, aber bei meiner SL-Nutzung komme ich auch selten in Situationen, die das erfordern. Ich werde das mal bei der nächsten Großveranstaltung testen. Bei der Eröffnungsrede des SL12B (ab 21. Juni), werden sicher knapp hundert Avatare anwesend sein.

Quellen:

6 Kommentare:

  1. Nikira Naimarc29. Mai 2015 um 08:55

    Ebbe hatte ja schon bezüglich Sanzar durchblicken lassen, dass sie versuchen wollen bis zu 10.000 (wenn ich mich nicht verlesen habe :-) ) Avas auf einer Sanzar Region unterzubringen. Vielleicht übertragen sie ihre in Sanzar gewonnenen Erfahrungen auch auf SL 1.0 oder sie nutzen SL 1.0 als Testplattform für Sanzar.

    Die Niki

    AntwortenLöschen
    Antworten
    1. Ich vermute, dass Sansar eine komplett andere Technik für die Regionen verwendet als Second Life. In SL hat jede Region einen zugewiesenen Platz auf einem Server und jede Region teilt sich den Prozessor mit den anderen Regionen, die auf dem selben Server liegen. Daran lässt sich auch mit viel Aufwand nichts mehr ändern.

      Wenn Linden Lab in Sansar Tausende von Avatare zulassen möchte, dann wird das nur über Aufteilung des Simulators auf mehrere Server (Instanzen) funktionieren. Deshalb glaube ich, dass man bei diesem Thema leider keine Erkenntnisse von Sansar auf SL übertragen kann. Aber mir ist eine separate Verbesserung in SL dennoch lieber als wenn LL gar nichts versuchen würde. :)

      Löschen
  2. Anidusa Carolina29. Mai 2015 um 19:29

    Nun den Nutzer entscheiden zu lassen dürfte leicht sein, denn der Firestorm hat ja beispielsweise diese Funktion bereits.
    Ich nutze sie häufig, da ich ansonsten mit meinem kleinen Rechner Renderprobs bekomme. Mehr als zehn Avis mit Meshklamotten um mich rum und ich friere ein. Ich KANN also nur auf Grossveranstaltungen gehen, indem ich dem Viewer sage "Anzahl voll gerenderter Avatara auf fünf limitieren" oder sowas.
    Allerdings ist diese Methode heikel weil man nicht weiss was die User draus machen. Leute mit einem ausreichenden Rechner würden vermutlich nix freiwillig runterschrauben, dafür sind die meisten vermutlich zu egoistisch oder zu gedankenlos..........

    AntwortenLöschen
    Antworten
    1. na ja,Egoistisch und oder Gedankenlos möchte ich so mal nicht stehenlassen
      natürlich ist die Anforderung von SL an die Grafik recht beachtlich,ist dann eben eine Frage der Investition in eine ausreichend starke Maschine,wieviel man auf dem Screen mitbekommen möchte
      dahingehend finde ich es auch etwas absurd,wenn man glaubt auf einem Tablet oder gar Smartphone müsste SL genauso flutschen wie auf einem Stand PC mit entsprechender Ausrüstung
      wenn Anidusa diese Funktion des Limitierens eh nutzen kann,wo ist dann das Problem?

      Löschen
    2. @Anidusa:
      Und es gäbe auch noch die Newbies, die von den Möglichkeiten das manuell einzustellen, vielleicht gar nichts wissen. Am besten wäre eine Lösung, die erst mal automatisch eine gute Performance bei vollen Regionen gewährleistet. Und jeder, der dann schon etwas erfahrener ist, könnte dann manuell die Werte anpassen. Also praktisch ein Mix der beiden Ideen aus dem Meeting.

      Löschen
    3. @Crazy:
      "wenn Anidusa diese Funktion des Limitierens eh nutzen kann,wo ist dann das Problem? "
      Selbst mit den heutigen Einstellungen, die ich am Ende des Beitrags hier auch aufgelistet habe, kommt es bei 100 Avataren auf einer Region immer noch zu Problemen. Und das sowohl für die Nutzer (denn nur die wenigsten kennen die heutigen Debug Settings) als auch für den Server, der einfach instabil wird wegen der Masse an Daten, die er berechnen und zu den einzelnen Viewern schicken muss.

      Löschen