Wie genau enstehen eigentlich Frametimes?

Torben456

BIOS-Overclocker(in)
Hallo zusammen,

ich würde gerne mal wissen, wie Frametimes genau berechnet werden und wieso z.B. Spikes enstehen. Ich weiß zwar das es auch vom RAM abhängig ist, aber wie kann man sich das ganze vorstellen. Warum erzeugen schnellere Timinigs, mehr Takt beim RAM bessere Frametimes?
 
Frametime: Abstand zwischen zwei von der Grafikkarte berechneten Bildern.
Einfaches Beispiel:
Du schaust in einem Spiel in den Himmel. Die Graka und die CPU langweilen sich und schießen zig Bilder pro Sekunde raus. Frametime klein, denn die Bilder folgen schnell aufeinander.
Dann reißt Du an der Maus und schaust auf einen Endlosen Horizont, voll mit zerstörten Gebäuden und 100 von Menschen gespielten Avataren die in all ihrer Vielfalt von CPU und GPU berechnet werden müssen. Dafür braucht der Rechner ungleich länger. Die Frametimes gehen hoch.
Der Abstand zwischen zwei Himmels-Frames und einem Himmel-Horizont-Frame oder einem Horizont-Horizont-Frame sind ungleich länger. Und der Punkt an dem Du vom Himmel zum Horizont ziehst, gibt den fetten Spike, weil dort die Zeit zwischen zwei Frames richtig auseinandergeht, weil die Daten, die für das Horizont-Bild gebraucht werden, erst mal geholt und verarbeitet werden müssen.

Die Frametime selbst ergibt sich also aus der Zeit die die CPU braucht um einen Frame für die Graka vorzubereiten (Game-Logic wie AI, Sound, andere Spieler, Sichtweite) und der Zeit die die Graka braucht um diese Daten aufzubereiten (Geometrie-Setup) und zu rendern zwischen zwei Bildern.

Das RAM spielt dabei hauptsächlich in den CPU-Teil rein.
Wie lange braucht das RAM um die Daten, die die CPU zur Berechnung des nächsten Frames benötigt zur CPU zu liefern.
Sind die Daten schon im RAM oder müssen sie erst von der HDD geholt werden? Sind die Daten schon in den CPU-Caches, oder müssen sie erst aus dem RAM geholt werden. Wie viele Daten sind es.

Im GPU-Teil spielt das RAM nur eine Rolle, wenn die GPU zu wenig VRAM hat.
Alle Daten, mit denen die GPU arbeitet müssen ja auch irgendwoher kommen.
AUS dem RAM, von der HDD.
Der Entwickler (oder spätestens der Treiber) bemüht sich wahrscheinlich so viel Daten wie möglich im VRAM der Graka zu halten, damit nicht ständig das RAM bemüht werden muss. Ansonsten ist es genau das gleiche wie bei der CPU. Welche Daten werden gebraucht, sind sie im VRAM der Graka, sind sie im RAM, wie schnell können sie geliefert werden, oder müssen sie erst von der HDD geladen werden.

Hat die Graka zu wenig VRAM, benutzt sie das Systemram als zwischenspeicher. Ist das System genau so schwach mit RAM bestückt wie die Graka wird die HDD bemüht. Jeder Zugriff auf die HDD wird eventuell (je nachdem ob er rechtzeitig oder zu spät erfolgt) in den Frametimes zu sehen sein, weil genau dort Graka und CPU eventuell ein wenig auf die Daten die sie brauchen warten müssen, und so die Fertigstellung des nächsten Frames verzögert wird.


Ist natürlich alles sehr rudimentär betrachtet. Ist bestimmt alles viel viel viel komplizierter im Zusammenspiel.
Und jetzt meine Moral aus der Geschichte: Die RAM-Menge ist immer wichtiger als die Geschwindigkeit. In dem Moment wo Daten von der HDD geholt werden müssen, da kann das RAM so schnell sein wie es will ... Du wartest auf die (gegenüber dem RAM) stinklahme HDD. Hättest Du mehr RAM im Rechner, hätte der Zugriff eventuell gar nicht erfolgen müssen, weil die Daten schon aus einem früherem Zugriff im RAM vorgehalten werden, oder weil sie vom Programm irgendwann geholt worden sind, da genug RAM zum Vorhalten vorhanden ist.
 
Zuletzt bearbeitet:
Frametime: Abstand zwischen zwei von der Grafikkarte berechneten Bildern.
Einfaches Beispiel:
Du schaust in einem Spiel in den Himmer. Die Graka und die CPU langweilen sich und schießen zig Bilder pro Sekunde raus.
Dann reißt Du an der Maus und schaust auf einen Endlosen Horizont, voll mit zerstörten Gebäuden und 100 von Menschen gespielten Avataren die in all ihrer Vielfalt von CPU und GPU berechnet werden müssen. Dafür braucht der Rechner ungleich länger.
Der Abstand zwischen zwei Himmels-Frames und einem Himmel-Horizont-Frame oder einem Horizont-Horizont-Frame sind ungleich länger. Und der Punkt an dem Du vom Himmel zum Horizont ziehst, gibt den fetten Spike, weil dort die Zeit weit auseinandergeht.
Erstmal danke für die Antwort, hat mir schon mal weiter geholfen
Und was spielt der RAM dafür eine Rolle?
Heißt das also wenn ich schnelleren RAM habe, das diese zwei verschiedenen Frames, schneller abgeglichen werden. Wie kommuniziert der RAM und die Grafikkarte denn miteinander?
 
Zurück