Desktop

Frameraten limitieren?

dantes-prayer

Cadet 3rd Year
Registriert
Mai 2004
Beiträge
48
Moin Mädels,
habe folgendes Problem...
Ich habe mir vor geraumer Zeit den L90d+ zugelegt.
Die engagierten Anwender unter Euch wissen was das ist und dürfen jetzt weiter lesen! *gg*
Jedenfalls ist es ja kein Geheimnis das bei abgeschaltetem Vsync Tearing entsteht, bei sehr hohen fps sogar richtige Lags deswegen entstehen können.
Jetzt meine Frage:

Gibt es nicht ein Tool oder einen Trick mit dem man auch bei deaktivierter Vsync trotzdem die fps eingrenzen kann!?
So könnte man beispielsweise bei CS oder Tac Ops gepflägt super flüssig zocken ohne das bei 160 fps oder so Tearing und lags entstehen!
Ich dachte da so an 100 fps reichen richtig dicke.

Habe schon überall gegoogelt, aber finden tu ich in dieser Richtung nichts.
Bitte keine Fachmännischen Comments wie: Vsync aktivieren! ;) THX!

:D :)
 
nun ja bei CS kann mans ja per cfg regeln das du max 100fps hast , allerdings habe ich bei source auch über 170 fps auf m TFT und kann nix von LAGGGGGS feststellen
 
Für alle Nichtegnagierten: Das ist ein TFT von Hyundai. Ich persönlich finde es ja dreist, dass man andere selbser suchen schickt, ehe die wissen, was dein Problem ist. Wäre das nämlich ein CRT, würde ich in jedem Fall einfach sagen: 100hz, Vsync und gut.

So sage ich 75 hz, Vsync und gut. Von irgendwelchen Programmen würde ich nämlich abraten, frisst nur Ressourcen und ob nun der Unterschied zwischen 75 und 100 Bildern in der Sekunde so groß ist, lässt sich ausdiskutieren. ;)

So, das war mein fachmännischer Rat...
 
also wenn ich net ganz aufm schlauch steh dann entsteht doch tearing bei aktiviertem vsync wenn man unter eine gewisse fps-grenze fällt. also mit deaktiviertem vsync gibts dch überhaupt keine probleme mit tearing :confused_alt:

also wenn ich da falsch liege bitte korrigieren, aber so is bis jetzt mein kenntnisstand mit vsync. (ich persönlich deaktivere vsync und bei mir lagt auch nix in cs/q3 mit sehr hohen fps)
 
Du hast recht!
Ich war eben wohl bisschen zu schnell beim tippen.
Tearing ensteht bei einer Auflösung von unter 1280 mal 1024 und zu niedirgen fps!
Was ich meine ist nicht Tearing sondern, etwas flimmern oder flackern, da der Bildschirm im Analog Modus max. 75 Bilder schafft, wenn dort nun 150 oder mehr aufschlagen kann es je nach Sys schonmal zu Problemen kommen.

@Sylver, falls mein Beitrag dreist oder unfreundlich rübergekommen ist, ...
Sry! Das sollte er nicht, war eher spassig gemeint.
Aber du hast recht, Vsync on oder off, da kann man diskutieren, aber ich kann nur sagen es ist ein Unterschied! ;)
Und ich frage nach Möglichkeiten und Tools, von daher keine falsche Scheu selbst wenn meine Ressourcen etwas beeinträchtigt werden! ;)
 
Seit wann enstehen bei sehr hohen Frameraten und ohne vSync Lags? Kannst du mir das mal erläutern?
 
Würde ich gerne, wenn ich könnte.
Da ich schon öfters von Vorfällen dieser Art gelesen hatte, nahm ich gerade nochmal den Google zur Hilfe.
Dabei bin ich im Prad Forum darauf gestossen, daß das Flimmern natürlich normal ist, weil bei zu hoher fps die Bilder leicht zerrissen werden.
Aber das Lag Problem wohl nur auf ein Treiberproblem zurückzuführen ist.
Somit hat sich dieser ganze Thread erledigt.
Trotzdem danke für die mal mehr mal weniger freundlichen Hilfestellungen! ;)

Hier nochmal eine genaue Erläuterung zu zerissen Bildern mit Vsync of und einem TFT Monitor.

Wie hängen vSync und Tearing zusammen?

Und hier sind wir auch beim Thema angelangt. Denn genau wenn das passiert, haben wir die Situation, dass "mitten im Bild" von einem Frame zum nächsten gewechselt wird. Das Bild, welches von der VGA-Karte übertragen wird, hat somit (irgendwo) eine horizontale Teilung; oberhalb ist das ältere, unterhalb das neuere Frame sichtbar.

Wenn die Frame Rate nun wesentlich höher als die Vertikalfrequenz ist (z.B.: Vertikalfrequenz 60 Hz, Frame Rate 150 Hz), treten sogar grundsätzlich mehr als ein Page-Flip pro Vertikalzyklus auf; damit haben wir pro Bild der VGA-Karte mehrere Unterteilungen in verschiede alte Frames!

Wenn die Frame Rate niedriger als die Vertikalfrequenz ist, haben wir gelegentlich auch Bilder ohne Unterteilung.

Dieser Effekt nennt sich auch "Tearing", da die Frames durch die Unterteilungen regelrecht "zerrissen" werden. Dies tritt immer und grundsätzlich auf, wenn die vertikale Synchronisation deaktiviert ist.

Wenn die vertikale Synchronisation aktiviert ist, dann bedeutet dies, dass beim Page-Flip grundsätzlich gewartet wird, bis der nächste vSync-Impuls erzeugt wird. Es wird also immer darauf gewartet, bis die VGA-Karte die Übertragung eines kompletten Bildes beendet hat, um genau in der kurzen Pause zum nächsten Bild den Seitenwechsel vorzunehmen. So wird erreicht, dass grundsätzlich nur komplette Bilder übertragen werden, und kein Tearing auftritt.

Wir spielen ein bischen Counter-Strike!

Nehmen wir nun der Einfachheit halber an, wir spielen Counter-Strike. Der Grafik-Modus ist 640x480 Pixel bei 100 Hz, vSync ist aktiviert. Wir verwenden einen Pentium 500 mit GeForce. Wenn gerade nicht viel los ist, braucht der Computer ungefähr 0.007 Sekunden, um ein Frame zu berechnen. Damit könnte er theoretisch 142 fps schaffen. Doch die vertikale Synchronisation zwingt CS dazu, bei jedem Page-Flip auf den vSync-Impuls zu warten, bevor mit dem nächsten Frame angefangen werden kann! Der Rechner langweilt sich also jeweils 0.003 Sekunden lang, bis die Grafikkarte das aktuelle Frame fertig übertragen hat. Die Frame Rate beträgt somit 100 Hz, und ist identisch mit der Vertikalfrequenz.

Wir laufen um eine Ecke, und plötzlich steht ein Gegner vor uns. Eine Spielfigur muss nun zusätzlich zum Hintergrund dargestellt werden, außerdem benötigt die CPU mehr Leistung für die Kollisionstests. Damit dauert die Berechnung eines Frames nun etwas länger, sagen wir: 0.011 Sekunden. Damit schafft es der PC gerade eben nicht mehr, ein Frame innerhalb eines Vertikalzyklus zu erstellen! Das bedeutet, der Page-Flip verpasst jeweils einen vSync-Impuls knapp und muß 0.009 Sekunden auf den nächsten warten. Jedes Frame wird also zweimal von der Grafikkarte übertragen. Zwischen zwei Frames vergehen nun immer 0.02 Sekunden, die Frame Rate hat sich also glatt halbiert auf nur noch 50 fps!

Dies passierte sehr plötzlich. Der Unterschied ist deutlich spürbar, selbst bei so hohen Frame-Raten. Daher haben wir vor Schreck nicht schnell genug reagiert und wurden vom Gegner erwischt. Damit wechseln wir in den Ghost-Modus, und sehen zusätzlich unsere eigenen sterblichen Überreste. Außerdem kommen noch ein paar weitere Gegner um die Ecke. Damit wird die Belastung für den PC nochmals höher: Er benötigt nun 0.023 Sekunden pro Frame. Was resultiert daraus? Jedes Frame wird 3x angezeigt, die Frame Rate sinkt auf 33.33 Hz.

Wäre nun auf diesem PC vSync deaktiviert gewesen, wäre die Frame-Rate immer genau so hoch gewesen, wie es der PC gerade eben schafft. Die Übergänge zwischen hoher und niedriger Frame-Rate wären wesentlich weniger abrupt. Das ist der Vorteil von deaktiviertem vSync. Der Nachteil: Wir haben Tearing. Und aufgrund des Tearings werden die meisten Frames "zerrissen" dargestellt. Weiterhin: Wollten wir einem sich gleichmäßig bewegenden Objekt mit den Augen folgen, würden wir erkennen, dass aufgrund des Tearings die Bewegung nicht mehr gleichmäßig ist. Wenn die Frame-Rate höher als die Vertikalfrequenz ist, "überspringt" das Objekt gelegentlich einen Schritt seiner Bewegung. Ist die Frame Rate niedriger, wird gelegentlich ein Schritt der Bewegung doppelt (oder noch öfter) angezeigt. Auf jeden Fall ist die Gleichmäßigkeit der Bewegung nicht mehr so gegeben, als wenn vSync aktiv wäre.

Text von Prad
 
Sapphire Forum
Zurück
Oben