PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : VSync und FPS Limits



belinda-f
07-11-11, 13:28
Hallo zusammen,

wenn VSync aktiviert ist, werden nur noch 60 oder 30 FPS berechnet. Das Spiel läuft mit 60 FPS, solange die Engine intern >60 Bilder berechnen kann. Sobald das nicht mehr erreicht wird, bricht die Wiederholrate sofort auf 30 FPS ein. Aus meiner Sicht ist da ein künstlicher Frame Limiter im Einsatz oder die Engine patzt bei VSync / Triple Buffering.

VSync kann je nach Spielsituation durchaus 10-50% Leistung kosten, eine pauschale Abstufung auf 60 oder 30 FPS ist jedoch vermeidbar. 30 FPS beim Scrolling spielt sich ziemlich zäh und rucklig, Tearing ohne VSync ist aber auch sehr störend - vor allem wenn mehr als 60 FPS berechnet werden (z.B. Scrolling übers Meer).

Ich hoffe das ist in der Vollversion nicht mehr so oder kann zumindest über eine Option manipuliert werden:

- VSync an mit Frame Limiter
- VSync an
- VSync aus

Ich werde mal verschiedene Kombinationen von VSync im Spiel und VSync, Triple Buffering, "Maximum pre-rendered Frames" im Treiber testen. Vielleicht lässt sich das umgehen.

Viele Grüße
Belinda

EDIT:
AMD Phenom II X4 955 @ 3.6Ghz
8GB DDR3-1333
MSI GTX 570 TwinFrozr III OC /Power Edition @ 1920x1200 60Hz
Win7 Ultimate SP1 auf Crucial M4 128GB
alle Spiele auf Corsair Force 3 120GB

Conqinator
07-11-11, 13:34
Öh also ich hab mit VSync nicht fest limitierte Frames auf 30, das schwankt immer. Wenn ich aufs Meer starre, erreiche ich mit VSync die 60 FPS und es bleibt dabei, es sinkt aber nicht fest auf 30 (die erreiche ich eh nicht durchgehend^^). hast du vielleicht was im Treiber umgestellt?

belinda-f
07-11-11, 13:44
jedenfalls nichts was nicht umgestellt werden sollte http://forums.ubi.com/infopop/emoticons/icon_smile.gif

http://img17.imageshack.us/img17/63/anno2070nvin.th.jpg (http://imageshack.us/photo/my-images/17/anno2070nvin.jpg/)

Hutzi123
08-11-11, 01:18
Verstehe ehrlich gesagt Dein Problem nicht.

Was VSync ist, hast Du offensichtlich begriffen. Weshalb also diese Frage?

>60 FPS = 60 FPS (bei 60 Herz)
<60 FPS = 30 FPS ..
<30 FPS = 20 FPS ..
<20 FPS = 15 FPS ..
<15 FPS = 12 FPS ..

Das hat nix mit Anno, sondern mit Deinem Monitor und wieviel Herz dieser liefert.Zwischen 60 und 30 gibt es eben keine Refreshrate, die regelmäßig wäre.

Conqinator
08-11-11, 09:45
Das Verhalten kann ich so aber nicht bestätigen, dann hätte ich also nen Bug, mein Spiel läuft nämlich schwankend die ganze Zeit, aber nicht fest bei 30 oder 20 FPS.

kOOl_dEE
08-11-11, 11:07
Nein, du hast kein Bug. Das liegt bei dir daran, daß du wirklich mit aktiviertem triplebuffer unterwegs bist. Dann hat man Zwischenschritte zwischen dem sync von 60 und den darunterliegenden Stufen.

Dazu wäre es bei dir interessant, ob du nicht vielleicht generell im Treiber vsync deaktiviert hast, dann kannst du in 2070 einstellen, was du möchtest, du wärst von dieser Thematik gar nicht betroffen.

Ich hatte den Beitrag heute morgen schon kurz gelesen und wollte ebenfalls anmerken, daß belinda sich wirklich nochmal anlesen sollte, was vsync bedeutet, was für Auswirkungen es in Kombi mit db und tb hat, wo es Sinn macht und wo nicht. Leider reichte mir die Zeit nicht, aber es hat ja oben schon kurz jemand darauf geantwortet.

Im Groben wollte ich nur schreiben, daß es eben nicht die Spieleengine ist, die intern keine 60 Bilder/s mehr berechnen kann und welche im Zusammenspiel mit vsync patzt. Ebensowenig liegt kein Limit vor. Es ist schlicht der PC, welcher die Marke nicht dauerhaft halten kann und mit normalen db gibt es dann eben den fallback auf 30 und die folgenden Stufen, welche oben schon genannt wurden.

Ich kann von meiner Seite aus nur sagen, daß ich eh nie mit vsync spiele, es gefällt mir einfach nicht. Jedes Ein- und Ausgabegerät hat Latenzen, vsync obendrauf läßt mir nahezu jedes Spiel noch mal ne Ecke zäher erscheinen. Triplebuffer reduziert den oben beschriebenen Effekt durch Einschub eines zusätzlichen frames (ein weiterer Puffer eben), damit kann ich aber noch weniger umgehen. Als klebt der gesamte Bildschirm an der Maus. Nun haben wir immer noch nicht herausgefunden, ob gerade dieser zusätzliche leicht schwammige Effekt daher kommt, daß der aktivierbare tb durch den Treiber ein quasi "unechter triplebuffer" ist (render ahead), keine Ahnung, kann mich nicht erinnern, daß sich jemals ein Nvidia-Mensch dazu mal konkret geäußert hätte bei denen im Forum. Was wir aber zu lesen bekommen haben im September: In kommenden Treiberversionen wird sich Nvidia wohl um eine eingebaute Limiter-Option kümmern, also analog dessen, was manche Spiele von Haus aus schon mitbringen. In welcher Form, ob man da per Schieberegler bestimmen kann, mit welcher Obergrenze unterschiedliche Spiele gerendert werden sollen, war noch nicht zu lesen. Das stelle ich mir interessant vor, wenn das dann auch wirklich lagfrei abgeht.

Für Anno kann ich nur sagen: Im späteren Spielverlauf mit vielen tausend Einwohnern (Angestellten wollte ich gerade schreiben..) wirst du vermutlich nirgends mehr deine 60fps haben, egal, ob du gerade über dem Wasser verweilst und über einer größeren Siedlung schon gar nicht mehr. Hier würde ich sagen, deaktivier es einfach, das auftretende tearing wird dich im späteren Spielverlauf wahrscheinlich nicht mehr betreffen aufgrund dieses Umstandes. Vsync ohne Einschränkungen/Nachteile macht im Grunde nur Sinn, wenn man dauerhaft an der Wiederholfrequenz seines Monitors klebt.

Hutzi123
08-11-11, 11:43
VSync macht nur in extrem schnellen Games Sinn, da es da teilweise wirklich zu starken tearing-Effekten* kommen kann.
Bei Anno wird es wohl keinen Unterschied machen, da selbst im Falle von 300 FPS und 60 Hz ohne Vsync kein wirkliches Tearing auftreten wird - da man sich ohnehin nicht so schnell bewegt, als dass es einem auffallen würde.


*
Tearing:
Tearing bedeutet, dass die Grafikkarte schneller neue "Bilder" an den Monitor schickt, als diese Angezeigt werden können. Beispiel: Du hast 120 FPS in einem Game. Ein Monitor mit nur 60 Hz ist nun also "gezwungen" jedes Bild, dass die Grafikkarte schickt, nur halb anzuzeigen, da er während des refreshes bereits ein neues Bild erhalten hat. Er zeigt also in der oberen hälfte es Monitors das "alte" Bild und in der unteren das "neue". Wenn man sich nun sehr schnell innerhalb dieser Zeit bewegt hat, kommt es zum tearing (Verzerrungen innerhalb des Bildes). Je nachdem wie empfindlich man da ist, kann das schon sehr störend sein.

Beispielbild:
Bild (http://extreme.pcgameshardware.de/attachments/238180d1276487449-ist-tearing-und-hat-es-mit-v-sync-zutun-prey.jpg)

@kOOl_dEE:
späterer Spielverlauf: Kommt auf den Rechner drauf an http://forums.ubi.com/infopop/emoticons/icon_smile.gif

kOOl_dEE
08-11-11, 12:21
Ja, hatte ich gerade mit jemanden über PN geschrieben: Es kommt immer auch darauf an, mit welchem PC man antritt. Mit einer Mördermaschine, die auch mit 50000 Einwohnern noch utopische Bildraten zusammenzimmert, für die würde vsync vermutlich eher interessant sein. Bei meinem 3 Jahre alten Rechenknecht (q84/260²) bin ich froh, wenn ich auch nach 5h Spielzeit noch bei 30-40fps lande. Da stellt sich die Frage nicht, bin ich ohne vsync besser dran. Zu Anfangs jedoch, habe auch ich noch bei nicht sehr intensiven Szenen tearing entdecken können, weswegen ich dem Einwand etwas widersprechen möchte, vsync lohne sich vor allem bei eher schnelleren Spielen. Für jemanden, der sich an tearing tierisch stört, lohnt es sich in jedem Spiel, wo es auftritt bzw. wo es jemand wahrnimmt. Wenn er denn mit den u.U. negativen Begleitumständen leben kann.

Aber mich muß man nicht danach fragen, ich mag es halt überhaupt nicht. Bei Spielen, wo ich dauerhaft hohe Bildraten habe (bei erwähntem PC sind das nicht mehr die neuen Spiele http://forums.ubi.com/images/smilies/16x16_smiley-sad.gif), deckele ich die fps nicht mit vsync, sondern knalle lieber AA+AF so hoch rein, daß ich mir fast die Karte abwürge.

Conqinator
08-11-11, 12:30
Naja Tearing kann auch bei langsameren Spielen auftreten und ist fort mMn genau so störend wie bei schnelleren Games. Ein durchgehendes Verzerren beim Scrollen über die Karte nervt doch etwas, dabei bin ich mir grad nicht mal sicher ob ich das bei 2070 überhaupt hatte, hatte VSync von Anfang an eingeschaltet. Mit meiner alten HD3650 hatte bei 1404 ab und an Tearing, mit meiner GTX460 war das glaube ich eigentlich weg, im Normalfall hab ich VSync aus, nur bei Anno brauch ich eh nicht viele FPS, lieber besseres Bild.

belinda-f
08-11-11, 16:37
Hallo Leute,

danke für die Infos. Die technischen Hintergründe von VSync und Triple Buffering sind mir durchaus bekannt. Mein System ist auch schnell genug um daraus Vorteile zu ziehen. Ich spiele immer mit VSync - wenn möglich - und habe dieses Verhalten noch nie bei Spielen ohne künstliche FPS Limits gesehen. Auch Anno 1404 verhält sich wie es soll und rendert mit aktiviertem VSync und Triple Buffering 60, 54, 47 oder wieviele FPS das System in der aktuellen Szene halt grad schafft.

Etwas ist mir aber aufgefallen in der Anno 2070 Demo. Die Slowdowns auf 30 FPS passieren nicht immer wenn keine 60 FPS mehr erreicht werden, sondern an bestimmten Stellen wie dieser hier:

http://img85.imageshack.us/img85/2275/ruckelzone.th.jpg (http://imageshack.us/photo/my-images/85/ruckelzone.jpg/)

Wenn ich mich - ungefähr - innerhalb des rot umrandeten Bereichs aufhalte, habe ich feste 30 FPS. Sobald ich den Bereich verlasse, schnellt es auf 60 FPS hoch. Wer es testen mag, einfach in der Demo die zweite Mission starten und in maximaler Zoom Stufe auf den kaputten Staudamm schauen. Dann z.B. von oben nach unten oder links nach rechts durch den rot umrandeten Bereich scrollen. Wenn ich mich innerhalb des "30 FPS Bereiches" befinde, sackt passenderweise auch meine GPU Auslastung von weit über 90% auf 50-60% ab. Auch in den Zwischensequenzen in Spielegrafik habe ich permanente 30 FPS und eine recht geringe GPU Auslastung. Irgendwas limitiert hier definitiv künstlich, und das nervt mich beim Spielen. Schade, denn mit Anno 1404 hab ich viel Zeit verbracht.

Viele Grüße
Belinda

Hutzi123
09-11-11, 02:25
Nochmal.
GPU Last ist immer auf 100% - SOFERN man Vsync ausgeschalten hat. Wenn die Grafikkarte 5 Jahre alt ist, haste eben 10 FPS und 100% GPU-Last und wenn sie akutell ist eben 100 FPS und 100% GPU-Last.

Zu Deinem Problem. Wenn die Grafikkarte auf 100% GPU-Last keine 60 FPS schafft, wird sie durch Vysnc dazu "gezwungen" nur noch 30 FPS zu liefern. D.h. die wenn die GPU-Auslastung nun bei 50-60% ist, würde die Grafikkarte ca 55 FPS berechnen können - ABER da 55 FSP < 60 FPS ist, bekommst Du nur 30 Bilder zu sehen und die Grafikkarte langweilt sich, weil ihr eben zu 60 FSP die entsprechende Leistung fehlt.

Das gleiche habe ich bei mir beobachten können. Ich habe zwei 6870 Grafikkarten, wovon allerdings eine ausgeschalten war. An der gleichen stelle wie Du brach er von 60 FPS auf 30 FPS ein und die GPU-Last fiel extrem ab.

Sprich: Bei Dir limitiert nichts künstlich, sondern Vsync + deine unzureichende Grafikkarte limitieren das Spiel. Nicht andersherum.

belinda-f
09-11-11, 12:33
Eher nicht, aber macht ja nix http://forums.ubi.com/infopop/emoticons/icon_smile.gif

kOOl_dEE
09-11-11, 13:17
Also wenn du dir sehr sicher bist, daß von deiner Seite aus alles korrekt ist, dann möge bitte mal jemand gegentesten.

Wenn du sagst, du spielst 1404 und alles ist in Ordnung und startest du 2070, hast du plötzlich nur noch (und ausschließlich) die Punkte 60 und 30, dann sollte da wirklich mal ein anderer gegenspielen, wie es da aussieht. Ich habe nämlich gestern mit jemanden geschrieben, der ebenfalls die gleiche Thematik hatte und da bin ich auch sofort von nicht aktiviertem tb ausgegangen.

Muß man das wirklich auf die Demo schieben? Fehlen da wirklich wichtige Programmbibliotheken? Kann mir das gar nicht vorstellen.

Hutzi123
09-11-11, 13:18
Wie gut, dass ich gar keine Frage gestellt habe.
Aber da Du ja es offensichtlich besser weißt als ich und des Weiteren offensichtlich nicht in der Lage bist zu diskutieren, kann man das ganze hier ja nun schließen.

Hutzi123
09-11-11, 13:39
Ein Interessantes Phänomen ist aufgetreten.
Die jeweiligen Einstellungen habe ich jeweils drübergeschrieben und fett markiert.

Alle Einstellungen MAX + 1920x1200 Auflösung.
Vsync OFF - 2 Grafikkarten

Beide Grafikkarten jeweils auf 50%. Und das dauerhaft - permanent auf exakt 50% Auslastung.
Bei besagter Stelle habe ich nun 42 FPS.

Alle Einstellungen MAX + 1920x1200 Auflösung.
Vsync ON - 2 Grafikkarten

Auch interessant. Mit aktiviertem Vsync habe ich erneut 42 FPS und die Grafikkarten geben das selbe Bild wie vorher - beide 50%. Auch nach neustart des gesamten Spiels. Vsync funktioniert also mit Crossfire nicht ordentlich.

Alle Einstellungen MAX + 1920x1200 Auflösung.
Vsync OFF - 1 Grafikkarte

44 FPS - GPU-Auslastung 100%


Alle Einstellungen MAX + 1920x1200 Auflösung.
Vsync ON - 1 Grafikkarte

30 FPS - GPU-Auslasung 64%

Fazit:
Abgesehen von Crossfire, läuft das Spiel exakt so, wie es soll.

kOOl_dEE
09-11-11, 14:03
Gibt es bei ATI auch solche Profile, wie bei der SLI-Fraktion? Dürfte ja nur ne Frage der Zeit sein, bis Crossfire dann anständig läuft oder?

War das

Zitat von Hutzi123:
Wie gut, dass ich gar keine Frage gestellt habe. [...]
eigentlich auf mich bezogen? Ne, eher darüber oder? Sind uns wohl nur zeitlich inne Quere gekommen.

Solagon
09-11-11, 14:29
Zitat von kOOl_dEE:
Gibt es bei ATI auch solche Profile, wie bei der SLI-Fraktion? Dürfte ja nur ne Frage der Zeit sein, bis Crossfire dann anständig läuft oder?


Catalyst Application Profile oder kurz CAP.

kOOl_dEE
09-11-11, 14:42
Ok, wollte nur wissen, ob man da auch darauf angewiesen ist, ein funktionierendes Profil zu haben. Bei Nvidia reicht ja manchmal schon die Verwendung einer Fake-Exe (also anderes Spiel u.U.).

kOOl_dEE
09-11-11, 16:16
Gut. Hat aber nichts mit dem sync-Kram hier zu tun. http://forums.ubi.com/infopop/emoticons/icon_wink.gif

Volker_S
09-11-11, 16:22
...hast recht, ich mach besser einen neuen Threat dafür auf (Thema wurde hier gelöscht).

-volker-

neXIITem
09-11-11, 20:47
Mir ist aufgefallen das ich in der DEMO auf der insel beim Staudamm einen ziemlichen FPS einbruch habe, obwohl ich eigentlich HIGH-END fahre. Ich denke mal da fehlt es noch an optimierung http://forums.ubi.com/infopop/emoticons/icon_smile.gif

BTW, Manchmal ist Anistropischer Filter besser über nvidia als über die ingame einstellung.

Hutzi123
10-11-11, 01:30
Ich nutze zumindest nicht bewusst irgendwelche Profile. Ich starte einfach ein Spiel und habe die doppelten FPS wie vorher ^^

@kOOl_dEE:
Ich meinte damit den Post über Dir - Deine Antwort hatte ich zu diesem Zeitpunkt noch gar nicht gesehen http://forums.ubi.com/infopop/emoticons/icon_smile.gif

@Threadersteller: Das "Problem" sitzt also mal wieder vor dem Monitor, denn es hat nichts mit dem Spiel zu tun, wie ich ja nun eindeutig beweisen konnte.

belinda-f
10-11-11, 12:36
Wieder eher nicht, aber macht auch diesmal nix http://forums.ubi.com/infopop/emoticons/icon_smile.gif

Über VSync / Triple Buffering wird gefühlt schon seit Jahrzehnten diskutiert und das langweilt mich. Ich weiß wie's funktioniert und für all die anderen: Dreifachpufferung (http://de.wikipedia.org/wiki/Dreifachpufferung)


Dreifachpufferung und VSync

Durch einen weiteren Backbuffer kann die Bildrate des Monitors von der GPU entkoppelt werden. Wenn ein Bild fertig gestellt ist, muss die GPU nun nicht mehr warten, bis der Swap-Befehl ausgeführt wird, sondern kann direkt im anderen Backbuffer weiterarbeiten. Beim Auftreten des Swap-Befehls werden also die beiden Backbuffer vertauscht, während beim Auftreten von VSync der Frontbuffer und der fertig berechnete Backbuffer vertauscht werden. Es kommt also zu keinem Leistungsverlust gegenüber dem ungepufferten Fall.

Vor- und Nachteile von Dreifachpufferung und VSync

Vorteile
- optimale Bildqualität, da kein Tearing auftritt (grafisches Artefakt, wenn während der Bildausgabe mehrere aufeinander folgende Bilder benutzt werden)
- kein Performanceverlust

Nachteile
- Der Framebuffer ist um bis zu 50% größer als bei Doppelpufferung
- Geringfügig (maximal um 1 Frame) steigende Latenz

Das wäre nicht das erste Spiel das Frame Limits einsetzt und dabei patzt. Sinn machen kann das z.B. für:

- gleichmäßige und exakt kontrollierbare Ingame Cinematics
- Keyframe-basierte Animationen und daran gekoppelte Effekte und Sounds
- zur Vermeidung, dass einzelne Engine Subsysteme (z.B. Physik, Graphik, Sound) out-of-sync laufen

Beispiel: Grand Theft Auto San Andreas

Kess_Eleven
19-11-11, 09:43
Wegen diesem ganzen VSync. ich habe selbiges Problem. Ich kenne es aus Spielen wie BF3 oder Crysis 2, Mass Effect 2, Bad Company 2 und WoW und eigentlich allen anderen Spielen die ich bisher gespielt habe:

Bei Aktivierter VSync wird das Bild in der Graka mit der Wiederholrate des TFTs gleichgestellt. Und dies Funktioniert bei mir so: Wenn ich 60FPS oder mehr hätte habe ich nur die 60fps geht jetz aber die Leistung auf, sagen wir, 55 fps runter bleibt es trotz VSync bei den 55fps.
Aber das ist nicht bei Anno so. Wenn ich bei Anno mit VSync 55fps hätte geht er sofort auf 30 runter. So verhält sich kein Spiel was ich auf meinem PC installiert habe.

Und das das so ist, nervt mich da theoretisch die Leistung da wäre, es mit 50fps mit VSync zu berechnen.

Mein PC besteht aus einem Core i7 2600K der mit 4,4GHz läuft, 16GB DDR3 1600 RAM und einer GTX 580 mit OC Einstellungen.