Zur Relevanz der FPS von srcds
Da momentan die Diskussion wieder aufgeflammt ist, denke ich, ist es an der Zeit, ein Statement zur Relevanz der FPS von srcds-basierten Game-Server abzugeben.
Seitdem alle großen Spiele-Titel auf die Orangebox portiert wurden (zuletzt 2010 Counter-Strike: Source), hat sich die Relevanz der Server-FPS für das Ingame-Feeling verändert. In einfachen Worten, solang die FPS konstant höher als die Tickrate sind, sind FPS nicht mehr wichtig. Es spielt dabei keine Rolle, ob ein Server (mit Tickrate 66) mit 66 oder 1000 fps (oder gar mehr) läuft. Es gibt einfach absolut keinen Unterschied.
Der technische Grund ist eine große Verbesserung in der Netzwerk-Engine: In der Original-2003-Engine konnte der Server nur während eines Frames Netzwerk-Pakete empfangen und verarbeiten. Ein Server, der mit 100 fps läuft, halt also eine Pause von 10 Millisekunden zwischen jedem Frame, weshalb jedes Netzwerk-Paket eine zusätzliche Latenz von 0 bis 10 Millisekunden bekommt. Das ist nicht viel, reicht aber aus um kleine, zusätzliche Ungenauigkeiten zu erzeigen. In der Orangebox-Engine werden Netzwerk-Pakete durch einen zusätzlichen Thread empfangen, der nicht von den FPS abhängt. Also können Netzwerk-Pakete jetzt sofort nach Ankunft empfangen werden, und es wird keine zusätzliche Latenz hinzugefügt. FPS sind jetzt nur noch wichtig für die Berechnung der Zustände der virtuellen Welt ("world snapshots") und um diese an die Clients zu versenden. Das ist das, was man als "tick" bezeichnet, damit ist es also durch die Tickrate begrenzt. Folglich verbessern höhere FPS als die Tickrate nicht das Game-Play, aber sie erhöhen die CPU-Last (und können damit evtl. sogar den Server verschlechtern, wenn die Ressourcen knapp sind).
Also, wenn du einen Orangebox-Game-Server betreibst, empfehle ich dir stark, ihn mit FPS gleich der Tickrate laufen zu lassen. Verwende fps_max, um die FPS zu begrenzen, mit einem leicht höherem Wert, um FPS-Drops aufgrund von Rundungsfehlern zu vermeiden, d.h. verwende fps_max 70 bei einer Tickrate von 66.
FPS sind noch immer nicht komplett unwichtig (und damit dieses FPS-Meter nicht total nutzlos), denn man sollte noch immer darauf achten, dass die FPS nie unter die Tickrate fallen für optimale Qualität. Dies ist auch der Grund, warum ich Ende letzten Jahres die Graphen-Darstellung geändert habe, damit Variationen in der Zeit (= Kehrwert der FPS) unabhängig von der FPS-Höhe gleich beurteilt werden können. Im optimalen Fall sind die FPS immer exakt gleich der Tickrate. Nicht höher, und nicht niedriger.
Und bitte, tu uns allen einen Gefallen: wenn du jemanden triffst, der noch immer an ultra-hohe FPS glaubt, verlinke ihn zu diesem Artikel. Hoffendlich wird ihm das helfen, den Sachverhalt zu verstehen.
Wichtiges Update: Es scheint, als sei diese Aussage nur wahr, wenn die FPS exakt gleich (oder ein winziges bisschen kleiner) der Tickrate sind. Wenn du leicht höhere FPS (z.B. 80 statt 66) verwendest, leidet dein Server möglicherweise unter dem sogenannten Alias-Effekt. Dieser führt dann zu einer Variation der effektiven Tickrate, was alles ein bisschen ruckelig machen kann. Es gibt ein paar "goldene" FPS-Werte, die ein sehr gutes Gameplay ermöglichen. Bei Tick 66 Servern sind das: 66fps, 200fps, 333fps und 1000fps; bei Tick 100: 100fps, 200fps, 500fps und 1000fps. Stelle sicher, einen dieser Werte möglichst exakt zu treffen (mit den wahren FPS, nicht mit dem, was du per fps_max einstellst!) und verwende keine Werte dazwischen. Im Zweifel lieber einen Wert leicht unterhalb eines der "goldenen" Werte.
Und joine die Steam-Gruppe und lade andere ein: http://steamcommunity.com/groups/1337fps

