InterestManagement/de

From OpenSimulator

Revision as of 01:17, 24 January 2026 by Manni (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

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:
  • BestAvatarResponsiveness
  • SimpleAngularDistance (intensiver für die CPU)
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

General
About This Wiki