Einzelnen Beitrag anzeigen

TGLDX

Registriert seit: 8. Jul 2007
6 Beiträge
 
Delphi 7 Personal
 
#8

Re: DirectX, OGL, Andorra2D - Wenn 3 sich streiten..

  Alt 8. Feb 2008, 18:23
Je größer die FPS sind, desto niedriger springt man:
ohne das Infofeld sind es bei mir ca. 1500(ca. 8 Pixel Sprunghöhe),mit nur 1250 FPS(ca. 20 Pixel)

Das ergibt folgende Möglichkeiten:
1. das TimeBased Movement ist nicht korrekt umgesetzt
2. der Zeitgeber ist zu ungenau:
Wenn der Timer wie z.B. bei GetTickCount() keine Float-Genauigkeit hat,wird die Zeitdifferenz bei > 1000 FPS relativ oft gleich 0 sein (= keine Bewegung, wodurch die Sprunghöhe abnimmt)
In diesem Fall gibt es eine einfache Lösung: V-Sync


Die Unterschiede zwischen OpenGL und Direct3D lassen sich somit auf verschieden Weisen erklären:
1. Der OpenGL-Treiber ist auf den meisten Systemen langsamer als der Direct3D-Treiber (=Sprunghöhe steigt,da FPS sinken)
2. durch Direct3D können sich Ungenauigkeiten ergeben,da dieses bei der Initialisierung automatisch die Float-Genauigkeit runtersetzt
  Mit Zitat antworten Zitat