Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi Vertikale Synchronisation mit OpenGL ausstellen (https://www.delphipraxis.net/47571-vertikale-synchronisation-mit-opengl-ausstellen.html)

FAlter 13. Jun 2005 11:36


Vertikale Synchronisation mit OpenGL ausstellen
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hi,

weiß jemand, wie ich mit meinem Programm (mit OpenGL) die Vertikale Synchronisierung ein- oder ausstelle, wenn ich an meiner Grafikkarte "anwendungsgesteuert" ausgewählt habe (siehe Screenshot)? Wenn ich es anstelle und jemand mein Spiel auf einem mit 60 Hz flimmernden Monitor ansieht (oder viele TFT-Bildschirme mit analogen Eingang können (fast) nur 60 Hz), dann ist es sehr ausgebremst. Ansonsten kann ich keinen Unterschied erkennen (von der Qualität o. ä.) her.

Bisher muss ich es in der Grafikkarte ausstellen (wie im Screenshot), aber OpenGL bietet doch sicherlich eine Möglichkeit?

Mfg
FAlter

FAlter 14. Jun 2005 08:01

Re: Vertikale Synchronisation mit OpenGL ausstellen
 
Hi,

ich hab jetzt doch noch selbst eine Lösung gefunden. Falls jemand vor dem gleichen Problem steht, irgendwo am Programmanfang einfügen:

Delphi-Quellcode:
wglSwapIntervalEXT(0);
Angeblich sollte

Delphi-Quellcode:
wglSwapInterval(0);
auch gehen, aber die gibts bei mir gar nicht...


Wcihtig ist: Das funktioniert nur, wenn bei der Grafikkarte "Anwendungsgesteuert" eingestellt ist.

Mfg
FAlter

PS: Wenn es zu Bildstörungen kommen sollte (Flackern), dann doch lieber die Zeile wegnehmen oder ein höheres Intervall einstellen... Bei mir gibts keine, allerdings besitze ich in meinem Programm eine Grafikkartenunabhängige Frameratekontrolle, weshalb ich ja die Kontrolle der Grafikkarte ausstellen will.

Phobeus 14. Jun 2005 10:17

Re: Vertikale Synchronisation mit OpenGL ausstellen
 
Nein, eine solche Funktion ohne dem EXT gibt es auch nicht. Evtl. hat da igrendwie jemand einen unkonformen Header verwendet und dem Autor davon war das tippen von Ext zuviel Arbeit ;)
Allerdings macht mir die Aussage "Frameratenkontroll" ein wenig Gedanken (gem. die Gedanken in meinem Kopf spielen die Realität wieder). Ich hoffe sehr, dass in deinem Programm nicht Frames, sondern Zeit verwendet wird um Bewegungen zu koordinieren? Den eigentlich sollte es Dir ja weitesgehend egal sein, wieviele Frames beim Anwender über den Bildschirm huschen und auch, was er bei seiner Grafikkarte eingestellt hat. Lass doch am Besten den Anwender einzig und alleine darüber entscheiden, ob VSync erwünscht ist und zwar direkt über seinen Treiber.


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:54 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