Delphi-PRAXiS
Seite 2 von 3     12 3      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   OpenGL und threads benutzen? Sinvoll? (https://www.delphipraxis.net/41348-opengl-und-threads-benutzen-sinvoll.html)

sniper_w 29. Mär 2005 11:43

Re: OpenGL und threads benutzen? Sinvoll?
 
Delphi-Quellcode:
Die schreiben das nicht in Delph
Stimmt. Aber das hat jetzt mit der Sache nichts zu tun. Ich bin mir 99,99% sicher, dass es deswegen so ist, weil die Option "Vecticale Synchronisation abwarten" bei dir eingeschaltet ist, und deswegen hast du eine niedriegere Framerate. Du musst sie ausscahlten, per Hand (DesktopEinstellungen), oder im Programm( wglSwapIntervalEXT(0) ).

No Voices 30. Aug 2005 14:41

Re: OpenGL und threads benutzen? Sinvoll?
 
Ich habe das problem gefunden. es hängt mit der bildwiederholfrequence vom monitor zusammen.

weiß jemand wo ich die durchlaufzahl vom queltext rausbekomm des es schneller läuft.

dizzy 30. Aug 2005 14:45

Re: OpenGL und threads benutzen? Sinvoll?
 
Ein Posting über deinem steht schon die Lösung ... seit mehreren Monaten :zwinker:

No Voices 4. Sep 2005 22:39

Re: OpenGL und threads benutzen? Sinvoll?
 
ich denke nicht das es so ist. Was hat die V-Sync mit der widerholrate vom monitor zu tun :wall:

wo stand den die lösung?

Ändere die Herzzahl von deinem monitor! bei 70 Hz haste 70 FPS und bei 120 Hz haste 120 FPS.

Das ist auch das Problem.

Wenn ich bei Quake 3 in die Config.cfg oder so gehe kann ich die anzeige an oder abschalten wo er mir die FPS anzeigen kann. da habe ich werte von über 300 FPS und ich kenne keinen monitor der das schaft auch nicht meiner. Also muß es eine andere möglichkeit geben!

Oder liege ich so falsch damit??? :gruebel:

Ultimator 4. Sep 2005 23:00

Re: OpenGL und threads benutzen? Sinvoll?
 
Ich denke auch, dass es mit VSync zusammenhängt.
Weil wenn das angeschaltet ist, muss die Grafikkarte pratisch "warten", bis sie das ganze Bild zeichnet, bis auch das gesamte Bild "zusammengesetzt" ist, da es ansonsten Tearing gibt..

dizzy 4. Sep 2005 23:47

Re: OpenGL und threads benutzen? Sinvoll?
 
Zitat:

Zitat von No Voices
ich denke nicht das es so ist. Was hat die V-Sync mit der widerholrate vom monitor zu tun :wall:

:shock: alles!

V(ertical)-Sync bezeichnet das Warten der Grafikkarte bis sie ein neues Bild an den Monitor schickt, und zwar eben so lange, bis die Scanline des Monitors die letzte Linie fertig gezeichnet hat. Und dass passiert nun mal eben genau so oft pro Sekunde wie dein Monitior eingestellt ist.
Vor allem gibst du dir ja noch selbst die Antwort :wall:

Und die Lösung ist sicher nicht am Moni zu fummeln, sondern viel mehr V-Sync softwareseitig abzuschalten. Wie das geht wurde schon im Thread gezeigt.

Im Übrigen macht ein Abschalten von V-Sync nur in 2 Fällen überhaupt Sinn:
  1. Benchmarking
  2. Fehler/Probleme mit V-Sync

V-Sync ist keine Last, sondern ein Freund und Helfer. Es wäre für Monitor- und Grafikkartenhersteller einfacher kein V-Sync zu betreiben. Man tut es aber trotzdem, um einem ganz bestimmten Effekt vorzubeugen: Wenn der Kathodenstrahl mitten im Bild eine neue Information von der Grafikkarte erhält, so entstehen je nach Pech ein oder mehrere Linien im Bild, da mehrere Zeitpunkte einer Bildfolge fälschlicherweise gleichzeitig in Teilen auf dem Bildschirm landen.
Das Problem besteht auf aktuellen Systemen nicht mehr so wie vor ein paar Jahren als man es einführte, da die Bildunterschiede zwischen 2 Frames oft so gering ausfallen, dass die Streifenbildung quasi ausbleibt (es gibt sie aber trotzdem).
Es macht folglich eigentlich gar keinen Sinn kein V-Sync zu betreiben, weil höher als der Monitor kann die Framerate eh nicht werden. Freut euch doch lieber dass ihr einen Indikator habt wie viel Rechenarbeit maximal getan werden muss, um die Perepherie optimal zu bedienen. Somit entfällt u.U. überschüssige Arbeit für CPU und Grafikkarte was Stromverbrauch und Wärmeentwicklung durchaus positiv beeinflusst ;).

Eine anmerkung zu TFT-Bildschirmen: TFTs haben für gewöhnlich keinen Kathodenstrahl :stupid:. Sie stellen viel mehr das Bild "auf einen Schlag" dar, und somit gäbe es theoretisch kein V-Sync. Allerdings gibt es eine Grenze bei der Verarbeitungsgeschwindigkeit in einem TFT, und um a) dies zu sichern und b) zur Kompatibilität wird auch bei TFTs eine Vertikalfrequenz angegeben über die ebenfalls V-Sync realisiert wird.



Gruss,
Fabian

Speedmaster 4. Sep 2005 23:58

Re: OpenGL und threads benutzen? Sinvoll?
 
Ich möchte anmerken das es einen guten Grund gibt V-Sync abzuschalten:
Wenn spiele nicht mit mehreren Threads betrieben werden kann es zu unschönen Effekten kommen mit V-Sync!
Falls ihr es mir nicht glaubt:
Startet einen Ego-Shooter mit V-Sync und spielt eine halbe Stunde, dannach macht das selbe ohne! Ihr werdet merken( allerdings nur wenn ihr ein guter Spieler seid ), das das Spielgefühl Schwammig ist wenn V-Sync an ist!

Deshalb ist es durchaus Sinnvoll das Spiel in 2 Threads oder mehr laufen zu lassen!

dizzy 5. Sep 2005 00:11

Re: OpenGL und threads benutzen? Sinvoll?
 
Zitat:

Zitat von Speedmaster
Wenn spiele nicht mit mehreren Threads betrieben werden kann es zu unschönen Effekten kommen mit V-Sync!

Nix dagegen: Fällt unter Punkt 2 :mrgreen:

supermuckl 5. Sep 2005 00:12

Re: OpenGL und threads benutzen? Sinvoll?
 
ähm was haben jetzt threads mit der vsync zu tun ?

dizzy 5. Sep 2005 00:13

Re: OpenGL und threads benutzen? Sinvoll?
 
Hat Speedmaster doch beschrieben =)


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:20 Uhr.
Seite 2 von 3     12 3      

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