Kann mir jemand eine detaillierte Erklärung zu Frameraten- und FPS-Konzepten geben?
Kann mir jemand eine detaillierte Erklärung zu Frameraten- und FPS-Konzepten geben?
Antworten:
"Bildrate" und "FPS" (Bilder pro Sekunde) sind normalerweise dasselbe. Ein "Frame" ist normalerweise ein einzelnes Bild in der Reihe von Bildern, die schnell auf Ihrem Bildschirm angezeigt werden, um die Illusion von Bewegung in Ihrem Spiel zu erzeugen. Daher beziehen sich die Begriffe im Allgemeinen darauf, wie viele dieser Bilder Ihr Spiel simulieren und in diesem produzieren kann eine Sekunde.
FPS wird oft als grobe Messung der Leistung verwendet, aber es ist wichtig zu bedenken, dass es sich um eine nichtlineare Messung handelt : Der Unterschied zwischen 30 und 60 FPS ist viel größer als 60 und 90 FPS.
Gelegentlich wird der Begriff in einem Kontext verwendet, in dem sich "Frame" nicht direkt auf eine Einheit der Grafik- / Simulationsverarbeitung insgesamt bezieht, sondern auf einen engeren Umfang. Die Idee ist jedoch dieselbe: Wie viele dieser Schritte erzeugt das Programm innerhalb einer Sekunde?
FPS = Bilder pro Sekunde. Ein Rahmen ist im Grunde Ihr Bildschirm, auf dem etwas gezeichnet ist. 60 FPS bedeutet, dass 60 Mal in einer Sekunde etwas auf Ihrem Bildschirm angezeigt wird. Weil unsere Augen (oder sollte ich sagen, der Bildverarbeitungskortex im Gehirn) begrenzt sind, wenn Sie etwas sehr schnell zeichnen und es jedes Mal bewegen, scheint es, als würde es sich zu unserem Gehirn bewegen. So werden Cartoons gemacht.
Ein "Frame" befindet sich einmal um die Spielschleife:
while( game_running ):
update()
draw()
update () beinhaltet Dinge wie
draw () zeichnet nur den aktuellen Status des Spiels, wie durch update () berechnet .
Hier ist also ein "Frame" BEIDE ein Aktualisierungs- / Zeichnungszyklus. FPS (Frames pro Sekunde) ist ein grobes Maß dafür, wie oft Sie Ihre grundlegende Spielschleife pro Sekunde ausführen können. Damit ist es ein grobes Maß für die Spielleistung .
Eine beliebige Anzahl von Dingen kann der Flaschenhals in Ihrer Bildrate sein . Dies könnte der CPU-intensive AI-Code sein. Dies können Ihre Kollisionserkennungsroutinen sein, bevor Sie ein angemessenes Speicherplatzaufteilungsschema hinzugefügt haben. Es könnte die GPU selbst sein .
Wenn es einen genauen Physiklöser enthält, muss Ihr Physiklöser mehr als einen Iterationsschritt pro angezeigtem "Frame" ausführen (CarSim benötigt beispielsweise etwa 1000 Iterationen alle 1/60 Sekunde, um die Stabilität in der Lösung beizubehalten).
VIRTUAL SECOND
später etwas hinzufügen .