Was sind "Bildrate" und "fps"?

7

Kann mir jemand eine detaillierte Erklärung zu Frameraten- und FPS-Konzepten geben?

xdevel2000
quelle
7
In diesem Zusammenhang sind "Framerate" und "fps" synonym. Möglicherweise wird der Begriff "fps" jedoch auch in Bezug auf das Genre des Spiels - First Person Shooter - angezeigt.
ChrisF
Und einige aktuelle Neuigkeiten: techreport.com/articles.x/21516
MichaelHouse

Antworten:

38

"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?


quelle
3
Ein Vorteil beim Erreichen und Aufrechterhalten einer höheren FPS, als das Auge vernünftigerweise verbrauchen kann, besteht darin, dass Sie vor gelegentlichen Abwärtsspitzen der FPS geschützt werden, die Sie an einen Punkt bringen, an dem visuelle Artefakte erkannt werden könnten. Der Flimmerfusionspunkt des menschlichen Auges liegt in jedem Fall bei etwa 60 FPS.
1
@bane: Es stimmt, dass das Auge irgendwann zwischen 50 und 75 Hz kein Flimmern mehr erkennt, aber das menschliche Auge kann weit mehr als das in "Bildern pro Sekunde" sehen. US-Militäruntersuchungen haben gezeigt, dass Piloten Flugzeuge besser als zufällig identifizieren können, wenn sie sie nur für eine 1 / 220stel Sekunde gesehen haben. Der Begrenzer in jeder praktischen Umgebung wird jedoch Ihre Anzeigetechnologie sein - normalerweise 60 Hz.
1
@ashes: Trivial ist es ay = 1 / x Kurve.
3
@bane: ms / frame ist die erste Messung, die Sie zu Optimierungszwecken betrachten sollten. Dies ist der Kehrwert von Frames / Sekunde; Sie sollten Frames / Sekunde nicht zu Optimierungszwecken betrachten, es sei denn, Sie erinnern sich, dass diese nichtlineare Beziehung zu der Qualität Ihrer Optimierungen wirklich besteht. Joshs Link geht sehr detailliert.
1
Ich picke hier nicht, aber Framerate und FPS sind nicht "dasselbe". Fps ist buchstäblich eine Einheit zur Messung der Framerate. Genauso wie Meter eine Einheit zur Längenmessung ist.
Laurent Couvidou
0

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.

jcora
quelle
0

Ein "Frame" befindet sich einmal um die Spielschleife:

while( game_running ):
    update()
    draw()

update () beinhaltet Dinge wie

  • Benutzereingaben lesen
  • Berechnung der nächsten Züge des Feindes

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).

Bobobobo
quelle
2
-1 für die notwendige Kopplung der Aktualisierungsraten der Anzeige mit den Aktualisierungsraten der Spielelogik. Ihre Definition braucht Arbeit. Bitte informieren Sie sich zuerst , oder Sie informieren möglicherweise andere falsch. Dies ist im Allgemeinen sehr schlecht für die Leistung und schließt sofort die Verwendung deterministischer Simulationseigenschaften aus, dh korrekte Berechnungen der Echtzeitphysik und Multiplayer-Funktionen, die auf diesen beruhen. Diese Grundlagen sind weder schwer zu verstehen noch umzusetzen.
Ingenieur
Interessanterweise wollte ich etwas dazu aufnehmen, aber um zu erklären, was ein Rahmen ist, halte ich dies für angemessen. Ich werde VIRTUAL SECONDspäter etwas hinzufügen .
Bobobobo
Ich werde das Negativ gerne entfernen, sobald Sie haben.
Ingenieur
Ich stimme Ihrer Antwort nicht ganz zu. Um Ihr eigenes Beispiel zu verwenden: Physik-Engines laufen oft viel schneller als 1000 Mal pro Sekunde. Dies wird oft als "die Physik-Engine läuft mit 1000 fps" formuliert. Ich würde Frames pro Sekunde definieren als: "Wie oft wird die gesamte Arbeit von einem bestimmten System pro Frame ausgeführt". Dadurch bleibt die Definition breit genug, um auch für Physik-Engines und andere Subsysteme zu gelten, die in Spielen in ihrem eigenen Tempo ausgeführt werden. Hoffentlich ist es nicht zu vage.
Roy T.
-1, Joshs dritter Absatz behandelt den gleichen Grund wie Ihre gesamte Antwort, ohne sich in irrelevanten Details zu verlieren.