09.08.2015, 17:49
FPS-Lag (Client-seitig = Problem liegt beim jeweiligen Spieler, nicht beim Server)
-abhängig von der PC-Hardware (CPU, GPU, RAM)
->Lag tritt auf, wenn der eigene Rechner das Spiel nicht mehr schnell genug berechnen kann.
Ursachen:
-Mobs und Blöcke mit Partikeleffekt
-Tile-Entities (dein PC berechnet den Standort jeder Tile-Entity im Radius von 100 Blöcken um dich rum)
-Entities (hohe Anzahl gedroppter Items, Mobs usw um dich rum)
-Veränderungen des Licht-Levels (Client prüft Lichtwerte aller Blöcke im Chunk neu, wenn der Lichtlevel verändert wird)
Lösung:
-bessere Hardware
-niedrigere Grafikeinstellungen
-Optifine (nicht immer, aber häufig)
-Tile-Entities und normale Entities niedrig halten
-Redstoneschaltungen vermeiden (Redstonefackeln und Repeater leuchten -> ändern den Lichtlevel wenn angesteuert)
TPS-Lag (Server-seitig = Problem betrifft alle Spieler auf dem jeweiligen Server)
-abhängig von den (Server-) Ticks pro Sekunde
-in einem Servertick werden ALLE im Spiel anfallenden Berechnungen durchgeführt
-der Server führt pro Sekunde maximal 20 Ticks aus -> 50 Millisekunden dauert 1 Tick
(1 Sekunde = 1000 Millisekunden / 20 = 50 Millisekunden pro Tick)
->Lag tritt auf, wenn so viele Berechnungen zusammenkommen, dass der Server länger als 50 Millisekunden braucht, um den Tick zu berechnen
->Verzögerte Berechnung -> langsamer laufendes Spiel
Ursachen:
-Alles was der Server berechnet wirkt sich auf die TPS aus. Allerdings gibt es drei Hauptursachen für Störungen
1.Tile Entities (Block-Objekte):
-Alle Blöcke, die Extra-Daten beinhalten wie zBsp Truhen, Banner, Trichter, Schilder (Inhalt, Muster, Ausrichtung, Beschriftung etc.)
-Liste aller Tile Entities: http://minecraft-de.gamepedia.com/Tile_Entity
-Jeder Chunk speichert die Anzahl der darin befindlichen Tile Entities mit deren Position in beinhalteten Daten
->Müssen bei jedem Spieltick aus den Informationen des aktiven Chunks geladen werden
Trichter sind ein Spezialfall, den ich weiter unten nochmal aufgreife
Lösung: Weniger Tile Entities pro Chunk, oder Anzahl auf mehrere Chunks aufteilen (kaum durchführbar aufgrund der Menge an Tile Entities und des Kontrollaufwands)
2.Entities (Objekte):
-Alle Items, die keine Blöcke sind. Spieler, Mobs, fallende Blöcke, gedroppte Items etc. (Können sich einen Block mit einer Fackel oder einem Zaun teilen)
-Liste und Erklärung zu Objekten: http://minecraft-de.gamepedia.com/Objekt
-Im Gegensatz zu Tile Entities werden Entities nicht im Chunk gespeichert.
->Der Server muss mit jedem Tick die Position aller Entities neu berechnen, bei Mobs auÃerdem noch die KI (Pathfinding)
3.World-Generator
-Sorgt für immensen Performanceabfall beim Generieren neuer Chunks
Verbindungs-Lag (Sowohl Client- als auch Server-seitig)
-abhängig von der Internetverbindung des Spielers zum Server oder des Servers zu den Spielern (für uns uninteressant)
Eigene Anmerkungen
Trichter: Sind aufgrund ihres Codes ein Problem. In 1.8.3 wurde dies angepasst, allerdings mit mäÃigem Erfolg.
-Ein offener Trichter prüft mit jedem Tick ob sich über ihm Entities zum aufsaugen befinden.
->Viele offene Trichter in einem Chunk = böse.
-Ein Trichter mit einer Tile-Entity darüber prüft nur dann, wenn ein Tile-Entity-Update stattfindet. Also in dem Behälter darüber etwas geändert wird.
->Trichter mit Tile-Entity darüber in denen seltener was geändert wir = unbedenklich.
-In Reihe geschaltete Trichter geben 2,5 Gegenstände pro Sekunde weiter. Da Trichter Tile-Entities sind, finden hier ständig Updates statt, die im Tick berechnet werden
->Trichterketten = je länger desto böser/ je öfter sie laufen desto böser
-In Reihe geschaltete Trichter die offen sind prüfen zudem noch laufend, ob sich eine Entity zum aufsaugen darüber befindet = absolut böse
Somit sind Trichter im normalen Gebrauch (geringe Anzahl, normale Benutzung) unbedenklich, im Verbund (Itemtransport, dauerhafte Brennanlagen) und mit Luftblock darüber allerdings ein Problem.
Farmen: Kombinieren die Problematiken von Tile-Entities und Entities, wordurch Farmen nicht in performanceschonend- oder fordernd unterteilt werden können.
Quellen:
http://paradise-minecraft.co.uk/forum/in...pic=1366.0
https://www.spigotmc.org/wiki/lag-types-...-fix-them/
http://minecraft-de.gamepedia.com/
-abhängig von der PC-Hardware (CPU, GPU, RAM)
->Lag tritt auf, wenn der eigene Rechner das Spiel nicht mehr schnell genug berechnen kann.
Ursachen:
-Mobs und Blöcke mit Partikeleffekt
-Tile-Entities (dein PC berechnet den Standort jeder Tile-Entity im Radius von 100 Blöcken um dich rum)
-Entities (hohe Anzahl gedroppter Items, Mobs usw um dich rum)
-Veränderungen des Licht-Levels (Client prüft Lichtwerte aller Blöcke im Chunk neu, wenn der Lichtlevel verändert wird)
Lösung:
-bessere Hardware
-niedrigere Grafikeinstellungen
-Optifine (nicht immer, aber häufig)
-Tile-Entities und normale Entities niedrig halten
-Redstoneschaltungen vermeiden (Redstonefackeln und Repeater leuchten -> ändern den Lichtlevel wenn angesteuert)
TPS-Lag (Server-seitig = Problem betrifft alle Spieler auf dem jeweiligen Server)
-abhängig von den (Server-) Ticks pro Sekunde
-in einem Servertick werden ALLE im Spiel anfallenden Berechnungen durchgeführt
-der Server führt pro Sekunde maximal 20 Ticks aus -> 50 Millisekunden dauert 1 Tick
(1 Sekunde = 1000 Millisekunden / 20 = 50 Millisekunden pro Tick)
->Lag tritt auf, wenn so viele Berechnungen zusammenkommen, dass der Server länger als 50 Millisekunden braucht, um den Tick zu berechnen
->Verzögerte Berechnung -> langsamer laufendes Spiel
Ursachen:
-Alles was der Server berechnet wirkt sich auf die TPS aus. Allerdings gibt es drei Hauptursachen für Störungen
1.Tile Entities (Block-Objekte):
-Alle Blöcke, die Extra-Daten beinhalten wie zBsp Truhen, Banner, Trichter, Schilder (Inhalt, Muster, Ausrichtung, Beschriftung etc.)
-Liste aller Tile Entities: http://minecraft-de.gamepedia.com/Tile_Entity
-Jeder Chunk speichert die Anzahl der darin befindlichen Tile Entities mit deren Position in beinhalteten Daten
->Müssen bei jedem Spieltick aus den Informationen des aktiven Chunks geladen werden
Trichter sind ein Spezialfall, den ich weiter unten nochmal aufgreife
Lösung: Weniger Tile Entities pro Chunk, oder Anzahl auf mehrere Chunks aufteilen (kaum durchführbar aufgrund der Menge an Tile Entities und des Kontrollaufwands)
2.Entities (Objekte):
-Alle Items, die keine Blöcke sind. Spieler, Mobs, fallende Blöcke, gedroppte Items etc. (Können sich einen Block mit einer Fackel oder einem Zaun teilen)
-Liste und Erklärung zu Objekten: http://minecraft-de.gamepedia.com/Objekt
-Im Gegensatz zu Tile Entities werden Entities nicht im Chunk gespeichert.
->Der Server muss mit jedem Tick die Position aller Entities neu berechnen, bei Mobs auÃerdem noch die KI (Pathfinding)
3.World-Generator
-Sorgt für immensen Performanceabfall beim Generieren neuer Chunks
Verbindungs-Lag (Sowohl Client- als auch Server-seitig)
-abhängig von der Internetverbindung des Spielers zum Server oder des Servers zu den Spielern (für uns uninteressant)
Eigene Anmerkungen
Trichter: Sind aufgrund ihres Codes ein Problem. In 1.8.3 wurde dies angepasst, allerdings mit mäÃigem Erfolg.
-Ein offener Trichter prüft mit jedem Tick ob sich über ihm Entities zum aufsaugen befinden.
->Viele offene Trichter in einem Chunk = böse.
-Ein Trichter mit einer Tile-Entity darüber prüft nur dann, wenn ein Tile-Entity-Update stattfindet. Also in dem Behälter darüber etwas geändert wird.
->Trichter mit Tile-Entity darüber in denen seltener was geändert wir = unbedenklich.
-In Reihe geschaltete Trichter geben 2,5 Gegenstände pro Sekunde weiter. Da Trichter Tile-Entities sind, finden hier ständig Updates statt, die im Tick berechnet werden
->Trichterketten = je länger desto böser/ je öfter sie laufen desto böser
-In Reihe geschaltete Trichter die offen sind prüfen zudem noch laufend, ob sich eine Entity zum aufsaugen darüber befindet = absolut böse
Somit sind Trichter im normalen Gebrauch (geringe Anzahl, normale Benutzung) unbedenklich, im Verbund (Itemtransport, dauerhafte Brennanlagen) und mit Luftblock darüber allerdings ein Problem.
Farmen: Kombinieren die Problematiken von Tile-Entities und Entities, wordurch Farmen nicht in performanceschonend- oder fordernd unterteilt werden können.
Quellen:
http://paradise-minecraft.co.uk/forum/in...pic=1366.0
https://www.spigotmc.org/wiki/lag-types-...-fix-them/
http://minecraft-de.gamepedia.com/