AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia OpenGL Timebased Movement ohne VSync
Thema durchsuchen
Ansicht
Themen-Optionen

OpenGL Timebased Movement ohne VSync

Ein Thema von roboter202 · begonnen am 4. Dez 2011 · letzter Beitrag vom 5. Dez 2011
Antwort Antwort
roboter202

Registriert seit: 6. Mär 2011
98 Beiträge
 
Delphi 6 Professional
 
#1

OpenGL Timebased Movement ohne VSync

  Alt 4. Dez 2011, 10:20
Hallo,

Ich hab ein Programm das Timebased Movement unterstützt und das geht auch recht gut aber wenn ich an der Grafikkarte die VSync deaktiviere habe ich statt 65 etwa 3000 - 4000 Frames Delta Time ist somit extrem klein meist 0 und nur selten etwa 16. dadurch erhalte ich beim bewegen ein ruckeliges Bild.

Ich möchte jedoch das der Nutzer nicht auf aktivierte VSync beschränkt ist. Daher möchte ich weder VSync einschalten, was vlt. auch nicht geht, noch die Sleep Funktion beim Rendern aufrufen um die Frames künstlich zu drosseln.

Kennt da jemand noch eine andere Lösung ?

Gruß
robote202
Christian
i := 0 ; While i = 0 do beep ;
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.475 Beiträge
 
Delphi 12 Athens
 
#2

AW: OpenGL Timebased Movement ohne VSync

  Alt 4. Dez 2011, 11:02
Ohne den Code zu kennen: kannst du nicht einfach bei einem DeltaTime < ??? die Routine verlassen und nur bei überschreiten dieser Schwelle das Rendering veranlassen?
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
roboter202

Registriert seit: 6. Mär 2011
98 Beiträge
 
Delphi 6 Professional
 
#3

AW: OpenGL Timebased Movement ohne VSync

  Alt 4. Dez 2011, 11:24
Ok ich werd's nachher mal versuchen
Christian
i := 0 ; While i = 0 do beep ;
  Mit Zitat antworten Zitat
Namenloser

Registriert seit: 7. Jun 2006
Ort: Karlsruhe
3.724 Beiträge
 
FreePascal / Lazarus
 
#4

AW: OpenGL Timebased Movement ohne VSync

  Alt 4. Dez 2011, 19:08
Wahrscheinlich nutzt du GetTickCount für die Zeitermittlung? Versuch es stattdessen mal mit QueryPerformanceCounter und Co. – dieser hat eine deutlich höhere Auflösung. Ich hatte damit noch nie solche Probleme...
  Mit Zitat antworten Zitat
roboter202

Registriert seit: 6. Mär 2011
98 Beiträge
 
Delphi 6 Professional
 
#5

AW: OpenGL Timebased Movement ohne VSync

  Alt 4. Dez 2011, 21:15
Zitat:
Wahrscheinlich nutzt du GetTickCount für die Zeitermittlung?
richtig geraten.

Ich werde es mal mit
Zitat:
QueryPerformanceCounter und Co
versuchen

@Uwe Raabe
Das habe ich probiert aber hier erhielt ich auch nur komische Ergebnisse.

Ich werde morgen mal den entsprechenden Code posten.

Gruß
roboter202
Christian
i := 0 ; While i = 0 do beep ;
  Mit Zitat antworten Zitat
roboter202

Registriert seit: 6. Mär 2011
98 Beiträge
 
Delphi 6 Professional
 
#6

AW: OpenGL Timebased Movement ohne VSync

  Alt 5. Dez 2011, 17:43
Hab's nochmal probiert jetzt geht es ich hab als Schwellwert zwar 0 definiert und erhalte (nur) 64 Frames aber das reicht ja.
Christian
i := 0 ; While i = 0 do beep ;
  Mit Zitat antworten Zitat
Antwort Antwort

 

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:04 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz