PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Framerate ungleich Framerate?!?


Gast
2006-03-02, 01:58:51
Also früher war es so das wenn die Framerate bei neuer Grafikkarte zu hoch war das Spiel an sich auch schneller lief irgendwie...heute ist das garnicht mehr so

Wisst ihr was ich meine? und wie kommt das? wo ist der unterschied zwischen den Frameraten?

CokeMan
2006-03-02, 02:05:16
Gast ;(

tokugawa
2006-03-02, 03:19:25
Weil die Programmierer programmieren gelernt haben.

Zeitliche Dinge in der Engine werden eben nicht mehr über die Framerate berechnet sondern über die tatsächliche Zeit.

Mehr dazu in diesem Abschnitt zu den Tipps und Tricks einer Lehrveranstaltung meiner Uni:

http://www.cg.tuwien.ac.at/courses/CG23/TipsundTricks.html#Zeitmessung%20in%20Windows


Abstimmen der Animationen und Bewegungen auf die Framerate. Man kann die Geschwindigkeit der einzelnen Objekte dann so berechnen, daß sie unabhängig von der Framerate ist. Die Geschwindigkeit ist dann also wirklich in "Einheiten pro Sekunde" und nicht "Einheiten pro Frame" bestimmbar.


Generell sollte man in einer Spieleengine "Simulationscode" (also Bewegung und Dynamik von Objekten in der virtuellen Welt) und "Rendercode" trennen.

Die Framerate bezieht sich rein auf die Geschwindigkeit des Renderteils. Simulation sollte eben nach Normalzeitmessung erfolgen und unabhängig davon wie oft es auf den Bildschirm gerendert wird.

orda
2006-03-02, 06:02:30
Schau dir 3DMark06 an, da kann man noch genau dieses Phänomen beobachten.

Lightning
2006-03-02, 12:17:59
Gast ;(

Verwarnung wegen Spam. Es ist doch hier eine vernünftige Fragestellung von jemandem, der sich einfach nicht so gut auskennt. Könnte auch andere interessieren. Dein Beitrag hingegen hilft sicher nicht weiter.

Chris Lux
2006-03-02, 13:54:23
Mehr dazu in diesem Abschnitt zu den Tipps und Tricks einer Lehrveranstaltung meiner Uni:

http://www.cg.tuwien.ac.at/courses/CG23/TipsundTricks.html#Zeitmessung%20in%20Windows
hi, das ist jetzt OT, aber unter dem punkt Transformationen ist ein riesen fehler!
OpenGL verwendet prinzipiell Spaltenvektoren. Auch Matrizen werden spaltenweise ('row-major') abgespeichert (also z.B. mymatrix[3] ist die erste Komponente der 2. Spalte).
opengl matrizen sind im column-major layout (http://en.wikipedia.org/wiki/Row_major)

[ 0 4 8 12]
[ 1 5 9 13]
[ 2 6 10 14]
[ 3 7 11 15]

somit ist auch mymatrix[3] das vierte element der ersten spalte. (auch im row-major layout stimmt obige aussage nicht ;), ausser bei einer 3x3 matrix im column-major layout ;))

ist mir nur aufgefallen. vielleicht mal aktualisieren lassen.

Gast
2006-03-02, 14:20:24
somit ist auch mymatrix[3] das vierte element der ersten spalte. (auch im row-major layout stimmt obige aussage nicht ;), ausser bei einer 3x3 matrix im column-major layout ;))und genau ein solches wurde vermutlich verwendet. Es liegt eben nur ein Übersetzungsfehler vor: column heißt nämlich Spalte (darum heißt die Klatschspalte in der Zeitung auch Kolumne), und row Zeile.

Gast
2006-03-02, 18:26:25
Die Grand-Theft-Auto-Reihe (alle Teile) berechnet die Geschwindigkeit noch anhand der Framerate. Wenn man den Framelimiter abschaltet, läuft das ganze Spiel viel zu schnell. Auch bei Halo ist dies der Fall.