Lohnt sich v-sync?

3 Antworten

Vom Fragesteller als hilfreich ausgezeichnet

V-Sync verhindert Tearing, das ist der Zweck davon.

Und Nachteile hat das nur bedingt heutzutage wegen modernerer Synchronisationstechnologien.

Im Zweifelsfalle sollte man das aber einfach ausprobieren, ob man mit V-Sync einen signifikanten Input-Lag wahrnimmt.

V-Sync kann was bringen, muss es aber nicht.

Was das eigentlich tut ist die generierte Framerate der Aktualisierungsrate deines Bildschirmes anpassen und immer volle Frames zu senden. Das verhindert Tearing und lässt somit das Spiel viel flüssiger erscheinen.

Bei einem Monitor mit niedriger Aktualisierungsrate wie zb. 60hz führt das zu massiven Inputlags. Als ich das damals in CS:GO probiert hatte fühlte es sich mehr an wie die Steuerung eines Hovercrafts, absolut schwammig und delayed.

Desto höher also deine Aktualisierungsrate am Bildschirm wird desto weniger wirst du sowas spüren können, natürlich muss der Rechner auch in der Lage sein solche Framerates zu produzieren.

Meine persönliche Regel bei V-Sync ist: Mit meinem 144hz Monitor schalt ich grundsätzlich V-Sync an, außer bei competetive Shootern wie CS:GO und Valorant. Dort limitier ich meine Framerate auf 288fps. Bei einem 240hz+ Monitor würde ich es wohl immer anschalten.

Woher ich das weiß:Studium / Ausbildung – Fachinformatiker für Systemintegration (IHK)

V-Sync ist ein „gutes“ Mittel wenn du KEINEN G-Sync/ FreeSync - fähigen Monitor hast.

Wenn doch, solltest du V-Sync global ausschalten, weil es dir sonst lediglich „Input-Lag“ beschert.

Auch habe ich feststellen können, dass Frame-Drops unter V-Sync viel stärker auffallen als ohne.

Woher ich das weiß:eigene Erfahrung
Destranix  03.06.2023, 09:41

Wäre mir neu, dass man dann überall plötzlich einen Input-Lag hätte. Hatte ich bisher nur bei einem getesteten Spiel, die anderen blieben Lag-frei.

Ich würde auch mal stark vermuten, dass die adaptiven Synchronisationsverfahren auch bezüglich V-Sync adaptieren und entsprechend ein Input-Lag vermeiden. Zumindest im Frequenzbereich für den die jeweilige Technologie ausgelegt ist.

1
Alenobyl  03.06.2023, 09:43
@Destranix

Das kann sein, jedoch hatte ich in der Vergangenheit bei mehreren Spielen Input-Lag und selbst minimalste Frame-Drops waren im Spielfluss äußerst nervig.

Erst als ich G-Sync nutzte vielen all diese Erscheinungen weg.

Dies sind lediglich meine „Alltagserfahrungen“.

0
Destranix  03.06.2023, 09:44
@Alenobyl

Also bei mir wird G-Sync auch genutzt wenn V-Sync an ist. Darauf wollte ich hinaus.

0
Alenobyl  03.06.2023, 09:44
@Destranix

Ja aber wozu? Das was V-Sync softwareseitig macht, übernimmt doch G-Sync hardwareseitig.

0
Destranix  03.06.2023, 09:45
@Alenobyl

Für Frequenzbereiche in dennen die adaptive Synchronisation nicht funktioniert.

0
Alenobyl  03.06.2023, 09:49
@Destranix

Also ich habe bisher mit G-Sync allein und einem Global-FPS-Limiter (-3) die besten Ergebnisse erzielt. Ich schätze mal, dass unsere Erfahrungen hier einfach abweichen

0
Destranix  03.06.2023, 09:50
@Alenobyl

Hm, okay. Also FPS-Limiter habe ich nie eingesetzt, ich sehe darin keinen Sinn.

0
Alenobyl  03.06.2023, 09:55
@Destranix

Damit drosselt man die GPU global auf 3-5 FPS unterhalb des Maximums der Bildwiederholrate des Monitors.

Damit hat man in Kombination mit G-Sync nie wieder Tearing.

Was du machst, ist hardwareseitige Drosselung mit softwareseitiger Drosselung zu ergänzen, was in meinen Augen unnötig ist.

Ich rate dir dringenst dies einmal selber auszuprobieren. V-Sync ist eine softwareseitige Notlösung, wenn man nicht hardwareseitig drosseln kann.

0
Destranix  03.06.2023, 10:07
@Alenobyl

Tearing entsteht durch Frequenzunterschiede zwischen Bildpuffer und Bilderzeuger. Ein verringern der Schreibrate in den Puffer verhindert Tearing nicht, denn Tearing tritt dann auf, wenn der Puffer zufällig gerade gelesen wird während er noch geschrieben wird, was auch passieren kann wenn das Schreiben lediglich seltener auftritt.

Soviel zumindest zur Theorie

Was du machst, ist hardwareseitige Drosselung mit softwareseitiger Drosselung zu ergänzen, was in meinen Augen unnötig ist.

Naja, eigentlich entsteht das Problem durch ein Zusammenspiel von Hardware uns Software. Im Grunde sollte aber der Treiber heutzutage vollends in der lage sein das Problem des tearings eigenständig vollständig zu beheben sofern ihm passende Hardwaretechnologien zur Verfügung stehen.

Eine Applikation fordert von dem Treiber einen oder mehrere Bildpuffer an, schreibt dann dort hinein. Dem Treiber obliegt aber zu bestimmen, welcher Bildpuffer verwendet wird, wie viele Bildpuffer zur Verfügung gestelllt werden und wie lange beim Anfragen des Puffers gewartet werden soll. Dabei kann auch bei nur einem angefragtem Bildpuffer intern eine Pufferung stattfinden.
Zudem kann der treiber selbst aus den Puffern neue Bilder generieren, ...

Im Grunde kann also einerseits der Treiber synchronisieren durch das warteverhalten (das wäre aber eher doof, denn dadurch verlangsamt er die Applikation evtl. notwendig, das sollte höchstens marginal geschehen) andererseits kann er schlicht nur fertige Bildpuffer verwenden.

Im Endeffekt sollte man ein extra V-Sync-Regler gar nicht mehr brauchen bzw. sollte der den Rest nicht kaputt machen, denn das ist nichts, was die Applikation explizit implementieren sollte (die sollte schlicht generisch implementieren und wie vom Treiber vermittelt ind ei Puffer schreiben), sondern etwas, was der Treiber an bestehende Hardware anpassen sollte.

0
Alenobyl  03.06.2023, 10:13
@Destranix

Nichts für ungut, aber das war jetzt relativ viel Text um nix. Und mit „sollte/müsste/könnte“ gebe ich mich als Endnutzer in der Praxis nicht zufrieden, wenn ich diesen Eventualitäten hardwareseitig einen Riegel vorschieben kann.

Nochmal:

In der Praxis habe „ICH“ mit G-Sync + GPU-FPS-Limitier (-3) die bisher besten Ergebnisse erzielt. Seitdem ist V-Sync bei mir aus und bleibt es auch.

0
Destranix  03.06.2023, 10:15
@Alenobyl

Ja möglich. War auch halb ein Rant darüber, dass es die Treiberhersteller nicht gebacken bekommen das Verhalten transparent zu machen.

0
Alenobyl  03.06.2023, 10:21
@Destranix

Dann hättest du dich diesbezüglich in deinem Kommentar eventuell klarer ausdrücken sollen. Ich hatte beim lesen den Eindruck, ich diskutiere mit Jemandem, der bisher nur recherchiert, aber nie selbst getestet hat.

Kein Stress.

Trotzdem will ich dich einmal zum Ausprobieren ermutigen. Glaub mir, du wirst es nicht bereuen und in Zukunft V-Sync ausgeschaltet lassen.

Das einzige Szenario, in dem man Probleme bekommen könnte, sind alte Spiele mit einer eigenen FPS-Grenze. Da muss im Treiber für das Spiel dann nachjustiert oder tatsächlich V-Sync eingeschaltet werden. Ansonsten kann V-Sync aber ausgeschaltet bleiben.

0
Destranix  03.06.2023, 10:30
@Alenobyl
Ich hatte beim lesen den Eindruck, ich diskutiere mit Jemandem, der bisher nur recherchiert, aber nie selbst getestet hat.

Naja, ich bin Entwickler mit Schwerpunkt auf Graphische Datenverarbeitung. Habe aber auch nur ein begrenztes Wissen bezüglich solcher Features und das hört in manchen Teilen auch bei der API-Schnittstelle auf.

Getestet habe ich aber durchaus bei verschiedenen Spielen. Bei Overwatch beispielsweise lässt sich mit V-Sync kein Unterschied feststellen meine ich (ist schon etwas her, dass ich das getestet habe) bei Bioshock Infinite ist der unterschied aber mehr als deutlich (sowohl bezüglich Tearing als auch bezüglich Input-Lag).

Was ich eigentlich von einem Treiber erwarten würde: Im Prinzip müsste der mir nur sagen, zu welchem zeitpunkt ich die Daten in den Bildpuffer schreiben soll und wie schnell das geschehen soll.
Da gibt es wohl auch neuere Technologien für schätze ich (Nvidia Boost pder soetwas, habe ich von API-Seite aber noch nie benutzt und weiß auch nicht,w as mand a konkret vom treiber bekommt).
Wenn ich keinen Zeitpunkt bekomme kann ich als Entwickler einfach nur so schnell in Puffer schreiben wie es geht und der Rest ist nicht meine Sache (was sollte ich auch sonst tun). Wie viele Puffer das sein sollten kann ich als Entwickler gar nicht sagen, denn das ist hardwarespezifisch. Der Nutzer kann das evtl. besser sagen (der sieht ja das Ergebnis) aber auch der sollte dafür nicht verantwortlich sein (weshalb ich es unsinnig finde, dass man V-Sync überhaupt konfigurieren kann, zumindest bei neueren Spielen).

0
Alenobyl  03.06.2023, 10:42
@Destranix

Fakt ist nunmal, es ist dem Treiber egal und für die besten Ergebnisse muss der Nutzer selbst Hand anlegen.

Entwickler hin oder her, ich gebe lediglich Tipps aus der Praxis für die Praxis. Die meisten Nutzer dieses Forums, welche derartige Fragen stellen haben kein ausreichendes technisches Wissen um komplexe Antworten auf das für sie nötige zu kürzen und zu übersetzen.

Da hat sich für mich einfach gezeigt, dass es dem Nutzer mehr hilft wenn er weiß, was er machen muss um „X“ zu umgehen und nicht einfach annehmen soll, dass es ja „theoretisch“ funktionieren müsste. Das sorgt bei vielen einfach nur für Frust, wenn die Theorie in der Praxis nicht bestätigt werden kann.

Aber, ich verstehe deinen Punkt absolut. Es sollte heute kein Problem für Treiber sein, zu erkennen welche Hardware (z.B. Monitor“) verbaut ist und dann automatisch und adaptiv die GPU zu drosseln. Die Tatsache, dass G-Sync/Free-Sync und V-Sync überhaupt existieren zeigt jedoch, dass die Treiber das nicht tun, und das bis heute.

1