Frage:
Was ist eine Zecke?
korrasaur
2015-03-18 00:27:45 UTC
view on stackexchange narkive permalink

Was ist ein Tick?

Ich habe viele Fälle gehört, in denen Ticks verwendet wurden. Zum Beispiel werden die Leute sagen, dass Demos mit 16 Ticks aufgezeichnet werden, dass Server mit 64 Ticks ausgeführt werden, aber wirklich gute Server mit 128 Ticks.

Ich verstehe nicht genau, was genau ein Tick ist. Warum sollten höhere Potenzen von 2 besser sein? Ich habe viele Threads gesehen, in denen es darum ging, Valve zu bitten, Server mit höheren Ticks hinzuzufügen, aber was bringt Ihnen ein höherer "Tick"?

Ein blutsaugendes Insekt.Wenn Sie in großer Anzahl angetroffen werden, haben Sie Poly-Ticks, was viel erklärt.
@MasonWheeler Ich sehe, was Sie dort getan haben
Der Ton, den eine analoge Uhr beim Zählen von Sekunden erzeugt.
Fünf antworten:
user101016
2015-03-18 01:15:34 UTC
view on stackexchange narkive permalink

Was ist ein Tick?

Um zuerst die Bedeutung eines Ticks zu verstehen, müssen Sie ein hohes Verständnis für eine Spielschleife haben. In einer Standardspielschleife haben Sie drei Hauptfunktionen:

  1. Benutzereingaben verarbeiten
  2. Spielstatus aktualisieren
  3. Auf Bildschirm rendern
  4. Diese werden während des Spiels immer wieder wiederholt. In der Schleife befinden sich Steuerelemente, damit 2 verschiedene Hardwareteile (z. B. PCs) die Schleife nicht mit unterschiedlichen Raten ausführen. Dies ist auch bei Server-Client-Setups wie Counter-Strike wichtig, damit alle Clients synchron ausgeführt werden. Eine Tickrate wird verwendet, um zu steuern, wie oft der Spielstatus aktualisiert wird. Eine Tickrate von 60 würde den Spielstatus 60 Mal pro Sekunde aktualisieren. Diese Zahl wird häufig als Ticks , Tickrate , Ticks pro Sekunde und tps dargestellt.

    Beachten Sie, dass das Rendern auf dem Bildschirm häufig unterschiedlich gesteuert wird (häufig 60 Bilder pro Sekunde oder 60 fps ). Komplexe Schleifen versuchen, die Tickrate und die Framerate zu entkoppeln, damit eine längere Verarbeitungszeit keine Sprünge in der Grafik verursacht. Obwohl verknüpft, ist es wichtig zu verstehen, dass sich die Spielaktualisierungen (gesteuert durch Ticks pro Sekunde ) von Bildschirmaktualisierungen (gesteuert durch Frames pro Sekunde ) unterscheiden.

    Einige Online-Spiele wie Titanfall haben viel niedrigere Tickraten (20). Dies bedeutet, dass jede Sekunde die Spielwelt 20 Mal aktualisiert und 60 Mal auf dem Bildschirm gerendert wurde (unter der Annahme von 60 fps ).

    Ich habe viele Threads gesehen Bitten Sie Valve, höhere Tick-Server hinzuzufügen, aber was bringt Ihnen ein höherer "Tick"?

    Eine hohe Tick-Rate lässt das Spiel reaktionsschneller erscheinen, weil Ihre Aktionen (Bewegen, Schießen usw.) werden im Spielstatus regelmäßiger wiedergegeben. Es ist jedoch anspruchsvoller für Ihren Computer / Server und Ihr potenzielles Client-Netzwerk.

    Für eine höhere Tickrate können Maschinen mit niedrigerer Endgeschwindigkeit Probleme haben. Abhängig vom Netcode (der möglicherweise für 60 statt 100+ optimiert ist) können auch andere Fehler mit Synchronisierungs-, Gleitkommaproblemen usw. auftreten.

    Kurz gesagt, eine höhere Tick-Rate bietet die Vorteile, wenn Die Clients können mithalten (mit CPU und Bandbreite). Andernfalls treten mehr Verzögerungen / Probleme auf als auf einem 60-Tick-Server. Außerdem sind die Kosten für Server höher, um höhere Tick-Raten auszuführen (zuzüglich der Bandbreitenkosten, da Sie die Clients häufiger aktualisieren).

    Andere Spiele mit dedizierten Servern haben viel niedrigere Tick-Raten als 60, sowohl um das Publikum zu vergrößern (mehr Leute können ohne Probleme laufen) als auch um die Kosten zu senken. Das Spiel reagiert nicht so schnell wie ein Spiel / Server mit höherer Tickrate, was sehr gering ist, wenn man bedenkt, dass es sich um Aktualisierungsraten von 20 oder 60 Mal pro Sekunde handelt. Wie oft können Sie überhaupt in einer Sekunde mit der Maus klicken?

    Weiterführende Literatur:

Bekanntlich ist EVE Online ein Echtzeitspiel, das mit 1 Tick pro Sekunde ausgeführt wird und sich in Situationen mit Server-Belastung auf 1/10 Tick verlangsamt (passiert, wenn mehrere tausend Spieler an einem einzigen Ort gegeneinander kämpfen).Allerdings ist es dort kein allzu großes Problem, da schnelle Reaktionen überlegenen Taktiken und Vorbereitungen im stundenlangen Kampf Vorrang einräumen.In TBS-Spielen kann ein "Tick" in Minuten erfolgen, sodass nicht alle Spiele von hohen Tick-Raten profitieren.
@Ordous Ich vermute, dass sogar TBS-Spiele eine Tick-Rate haben, obwohl die Aktionen der Spieler nicht direkt damit verbunden sind: Sie wären für das Rendern hübscher Animationen erforderlich, wenn sonst nichts.
Sean Allred
2015-03-18 03:11:14 UTC
view on stackexchange narkive permalink

Einfach ausgedrückt, ein "Tick" behandelt die kleinste Zeit, die die Spiel-Engine benötigt - es ist die Anzahl der diskreten Schritte, die das Spiel in einer Sekunde ausführen kann. Mit einer höheren Tick-Rate kann die Spielphysik flüssiger oder länger erscheinen realistisch, aber dies ist mit hohen Kosten für die Verarbeitungsleistung verbunden.

In einem anderen Sinne wird gezählt, wie viele „Proben“ Sie aus einem (theoretischen) realen Szenario entnehmen. Je mehr Proben Sie entnehmen, desto weniger nervös sind die Daten.

Powerlord
2015-03-18 01:26:50 UTC
view on stackexchange narkive permalink

Die Tickrate des Servers ist die Anzahl der Spiel-Frames, die der Server in einer Sekunde verarbeitet. Dies wird manchmal auch als Server-FPS bezeichnet, was verwirrend ist, da der Server immer noch den Befehl max_fps hat.

In jedem Spielrahmen ruft das Spiel die GameFrame-Methode einer Entität auf ( wenn es eine gibt) für jede Spiellogikverarbeitung. Für Projektile, Spieler, Türen usw. umfasst dies die Verarbeitung von Physik. Das Spiel führt zu diesem Zeitpunkt auch interne Logik aus ... und alle Valve Server Plugins (VSPs) wie MetaMod: Source und SourceMod können auch eigene GameFrame-Aufrufe haben (für SourceMod wird dies für SourceMod-Timer und alle Plugins verwendet, die dies haben OnGameFrame-Hooks).

Wie Sie vielleicht vermutet haben, wird das Spiel umso mehr CPU-Leistung verbrauchen, je höher Sie die Tickrate einstellen.

Es muss nicht immer eine Leistung sein Tatsächlich schwören einige CS: GO-Serverbesitzer auf 102 / 102.4 Tick anstelle der Standard-Tickraten 64 und 128. Sie behaupten, dass dies die Leistung des Servers konsistenter macht und die CPU-Spitzen verringert.

Dies kann sich jedoch geändert haben, als Valve das Spiel aktualisiert hat.

Denken Sie daran, dass Sie die Tickrate allein höher einstellen wird die Spielerfahrung nicht verbessern. Sie müssen auch sicherstellen, dass Ihre Raten für die verfügbare Bandbreite richtig eingestellt sind.

Wie bei den anderen Spielen von Valve verwenden viele von ihnen gesperrte Tickraten:

  • 30 Spielbilder pro Sekunde
    • Links 4 Tote
    • Links 4 Tot 2
  • 66 Spielbilder pro Sekunde
    • Tag der Niederlage: Quelle
    • Gegenschlag: Quelle
    • Teamfestung 2

Die 66 Spielrahmen pro Sekunde Spiele waren nicht immer auf 66 festgelegt. Valve hat dies vor einiger Zeit geändert, nachdem Änderungen am Spielcode vorgenommen wurden. Diese Änderungen haben einige Spiele (insbesondere TF2) viel empfindlicher für Änderungen der Tickrate gemacht. Wenn Sie sie zu hoch oder zu niedrig einstellen, ändert sich die Geschwindigkeit, mit der sich Türen öffnen / schließen, und es treten Probleme auf.

Nebenbei bemerkt, die Tickrate des Servers und die Tickrate des Clients sind möglicherweise nicht gleich.Der Client kann einschränken, wie oft er Frames vom Server empfängt (`cl_updaterate`).Der Server kann jedoch minimale und maximale Werte für diese Einstellungen festlegen (`sv_minupdaterate` und` sv_maxupdaterate`).Unabhängig davon, auf was Sie diese Min- und Max-Werte eingestellt haben, verarbeitet der Server "-tickrate" -Spielbilder pro Sekunde auf die nächste Anzahl von Millisekunden (d. H. 66 fps sind 1000/66 oder 15 ms).
Wie wandelt sich eine hohe Tickrate wieder in niedrigere Tickraten um, wenn eine Demo auf einem Ventilserver erstellt wird (da alle Demos anscheinend in 16 Ticks erstellt werden)?
@0-framelinks Eine clientseitige .dem-Datei enthält alle Pakete, die ein Client empfangen hat, und zeichnet daher mit dem von einem Client verwendeten "cl_updaterate" auf (vorausgesetzt, seine "Rate" war hoch genug, um sie aufrechtzuerhalten).Eine serverseitige .dem, die mit SourceTV / GoTV auf der Serverseite erstellt wurde (mit `tv_record`), enthält viel mehr Informationen, da sie alles aufzeichnet, was in jedem Spielrahmen überall auf der Karte passiert, und keine feste Perspektive hat.
Beachten Sie, dass Tickrate und Framerate häufig entkoppelt sind.Viele Spiele haben FPS viel höher als TPS und DwarfFortress hat viel höhere TPS als FPS.
TheFaster
2015-03-18 00:30:28 UTC
view on stackexchange narkive permalink

Aus einem Counter-Strike-Forum:

Während jedes Ticks verarbeitet der Server eingehende Benutzerbefehle, führt einen physischen Simulationsschritt aus, überprüft die Spielregeln und aktualisiert alle Objektzustände. Nach der Simulation eines Ticks entscheidet der Server, ob ein Client ein Weltupdate benötigt, und erstellt bei Bedarf eine Momentaufnahme des aktuellen Weltzustands. Eine höhere Tickrate erhöht die Simulationsgenauigkeit, erfordert jedoch auch mehr CPU-Leistung und verfügbare Bandbreite auf Server und Client.

Bitte geben Sie Ihre Quelle an.
Was ist Simulationsgenauigkeit?Das verstehe ich nicht genau
Na, bitte.Hatte es in der Zwischenablage, habe nur vergessen, es zu verlinken.Vielen Dank.
@0-framelinks Wenn mehr Berechnungen pro Sekunde durchgeführt werden, erhalten Sie eine genauere und präzisere Simulation, oder?
Ein Häkchen ist also im Grunde genommen, wie genau Informationen vom Client an den Server weitergeleitet werden.
@0-framelinks Ja.Verringert im Wesentlichen die Verzögerung zwischen dem, was der Spieler tut und was in der Welt reflektiert wird.
Valid
2015-03-19 01:15:02 UTC
view on stackexchange narkive permalink

Mit einem Häkchen verarbeitet die Spiel-Engine alle Aktionen (ob von einem Benutzer oder von einer KI oder einem anderen internen Prozess) und aktualisiert den Status und den Standort aller Objekte auf der Welt entsprechend. Die Rendering-Engine nimmt alle Status und Standorte auf und zeigt die Objekte auf Ihrem Bildschirm an, indem Sie sie an Ihrem Standort in der Welt verwenden. Für ein eigenständiges Spiel gibt es normalerweise ein Render-per-Tick. Bei einem Online-Spiel hängt die Beziehung vom Spiel ab - z. Ihr World of Warcraft-Client empfängt Status- und Standortinformationen vom Server, und Ihr lokaler Computer rendert die Objekte einfach in seinem eigenen Tempo.



Diese Fragen und Antworten wurden automatisch aus der englischen Sprache übersetzt.Der ursprüngliche Inhalt ist auf stackexchange verfügbar. Wir danken ihm für die cc by-sa 3.0-Lizenz, unter der er vertrieben wird.
Loading...