Hallo Leute,
mir ist aufgefallen das diverse Server mit hochen FPS beworben werden.
Das ist ja soweit ganz nett, aber nur bedingt Sinnvoll.
Zunächst einmal, wie stellt man die ServerFPS ein?
wenn nicht vorhanden muss in der Engine.ini folgendes eingetragen werden (wobei XYZ der gewünschten Einstellung entspricht)
[/Script/OnlineSubsystemUtils.IpNetDriver]
NetServerMaxTickRate=XYZ
Was ist wichtig bei der FPS?
Was vermutlich jedem bekannt ist, ein niedriger Wert führt zur langsameren Verarbeitung eines Prozesses was bei einem Dedicated Server schnell mal im Paketverlust enden kann. Im Schlimmsten Fall läuft man so in einen asynchronen Zustand. (Ich leg was in die Kiste, schaue wieder rein und sie ist leer)
Alles klar, wir wissen also FPS muss hoch sein! Yay das kriegt man doch hin.
Der allgemeine Irrglaube ist das ein sehr hoher Wert, wir nehmen mal 240 an, ein Benefit für den Server ist.
Da hier fast jeder Server wohl mit Windows betrieben wird, läuft da unter Umständen, eine ganze menge Müll nebenher.
Es wird also zwangsläufig passieren, dass die Ressourcen vom System beansprucht werden.
Anstatt meiner geliebten 240 FPS hab ich also Framedrops.
Sinnvoller ist es da einen Wert zu wählen wo:
- alles flüssig läuft
- Luft nach oben ist
- unter Last keine signifikante Veränderung wahrgenommen werden kann
Was soll ich denn nun einstellen?
Der CE Dedicated Server wird im Standard mit 30 FPS ausgeführt. Das ist auch vollkommen in Ordnung.
Diesen Wert zu verdoppeln ist auch absolut im Rahmen.
Alles darüber hinaus bringt nichts und dient nur der Werbung.
Auch ein Schlechter Server kann 240 eingestellt haben, wie er sich unter Last verhält ist aber ein anderes Blatt.
Wie sehe ich die ServerFPS?
- In der Konsole ToggleDebugHud eingeben oder
- Als Administrator einloggen MakeMeAdmin XXYYZZ und dann GetServerHealth eingeben. In der ersten Antwortzeile auf diesen Befehl steht dann die ServerFPS
Man kann als Administrator auch live die ServerFPS einstellen. Dadurch muss man nicht unbedingt neustarten nur weil man mal ausprobieren will wieviel FPS der Server unter Last noch zu stande bringt.
Der Befehl dafür ist SetServerMaxFPS XX wobei XX dann der gewünschte Wert ist.
Wenn ihr anderer Meinung seit dann gerne erläutern.