InterestManagement/de
From OpenSimulator
| Languages: |
|
InterestManagement ist ein Subsystem in OpenSimulator (OpenSim), das die Priorisierung und Steuerung von Aktualisierungen (Updates) für Avatare und Objekte zwischen Server und Client übernimmt. Es wird hauptsächlich über den Konfigurationsabschnitt [InterestManagement] gesteuert und dient dazu, Bandbreite und CPU-Last effizient zu verteilen.
Contents |
Konfiguration
Die Einstellungen für das InterestManagement erfolgen in der OpenSim.ini oder OpenSimDefaults.ini. Die folgenden Parameter sind im Abschnitt [InterestManagement] verfügbar:
| Parameter | Beschreibung | Werte / Bemerkung |
|---|---|---|
UpdatePrioritizationScheme
|
Legt das Schema zur Priorisierung von Updates fest. | Mögliche Werte:
|
ReprioritizationEnabled
|
Aktiviert die regelmäßige Neusortierung (Repriorisierung) der Update-Prioritäten. | true oder false
|
ReprioritizationInterval
|
Das Zeitintervall (in Millisekunden) zwischen den Neusortierungen. | Zahl (in ms) |
RootReprioritizationDistance
|
Die Distanzschwelle, ab der die Priorität von Root-Avataren (Hauptavataren) neu berechnet wird. | Zahl (Entfernung) |
ObjectsCullingByDistance
|
Wenn aktiviert, werden Objekt-Updates außerhalb der Sichtweite nicht an den Client gesendet. | true oder false – Spart Bandbreite, erhöht aber die CPU-Last.
|
RootTerseUpdatePeriod
|
Sendet nur jedes n-te kompakte ("Terse") Update für Avatare innerhalb derselben Region. | Zahl (0 = immer senden) |
ChildTerseUpdatePeriod
|
Sendet nur jedes n-te kompakte ("Terse") Update für Avatare in anderen Regionen (z.B. Nachbarregionen). | Zahl (0 = immer senden) |
Diese Optionen ermöglichen eine Feinabstimmung, wie häufig und unter welchen Bedingungen Clients über Zustandsänderungen von Objekten und Avataren informiert werden.
Implementierung in Scene.cs
Der zentrale Code für das InterestManagement befindet sich in der Datei Scene.cs. Dabei wird jedoch nicht die vollständige in der INI-Datei dokumentierte Parameterliste ausgewertet.
Folgende Einstellungen werden in Scene.cs tatsächlich gelesen und verwendet:
-
UpdatePrioritizationScheme -
ReprioritizationEnabled -
ReprioritizationInterval -
RootReprioritizationDistance -
ObjectsCullingByDistance
Die folgenden, in der Konfigurationsdatei dokumentierten Parameter werden in Scene.cs nicht ausgewertet und haben dort keine direkte Wirkung:
-
ChildReprioritizationDistance -
RootTerseUpdatePeriod -
ChildTerseUpdatePeriod
Ihr Einfluss auf das System ist nur gegeben, wenn sie an anderer Stelle im OpenSimulator-Quellcode verarbeitet werden.
Zweck und Funktionsweise
Das InterestManagement-System filtert und priorisiert die an die Clients zu sendenden Daten. Ziel ist es, die Netzwerklast zu minimieren und die Serverperformance zu optimieren, ohne die subjektive Benutzererfahrung (z.B. Reaktionsfähigkeit der Avatare) wesentlich zu beeinträchtigen. Beispielsweise sorgt ObjectsCullingByDistance dafür, dass unsichtbare Objekte keine Updates generieren, während die Priorisierungsschemata bestimmen, welche Objekte oder Avatare zuerst aktualisiert werden.
Siehe auch
Kategorie:OpenSimulator Kategorie:Netzwerk Kategorie:Server-Technik