Toon posts:

[Bioshock] Door vsync een slechtere performance?

Pagina: 1
Acties:
  • 474 views sinds 30-01-2008
  • Reageer

Verwijderd

Topicstarter
Met alles op high draait hij super maar hebben jullie er ook last van als je sync aan heb staan dat hij da tog wel zwaar gaat lopen op sommige stukken in het spel. Hebben mensen met hetzelde systeem er ook last van ?

systeem:
E6600
2gig ddr2
8800gts 640mb

[ Voor 11% gewijzigd door Verwijderd op 27-08-2007 18:13 ]


  • M2M
  • Registratie: Juli 2006
  • Laatst online: 01-12 01:34

M2M

medicijnman

op mijn 8800 GTX draait het soepel, verder dezelfde config als jij (wel E6600 momenteel op 3.0 ghz, nogal warm hiero :) en een P5N-E SLI moederplank. V-sync staat hier wel uit, en kingston CL5 geheugen...

-_-


  • Gniels
  • Registratie: Januari 2007
  • Laatst online: 01-12 09:01
Nee geen last van. Alles soepel en flex op mijn specs (signature). Probeer het eens uit te zetten?

PHILIPS Motional Feedback 544


Verwijderd

Topicstarter
M2M schreef op maandag 27 augustus 2007 @ 18:12:
op mijn 8800 GTX draait het soepel, verder dezelfde config als jij (wel E6600 momenteel op 3.0 ghz, nogal warm hiero :) en een P5N-E SLI moederplank. V-sync staat hier wel uit, en kingston CL5 geheugen...
en als jij V-sync aan zet heb je dan ok last van frame drops op drukke stukken ?

Yoor de rest draait hij bij mij namelijk soepel met
V-sync uit

  • Rone
  • Registratie: April 2002
  • Niet online

Rone

Moderator Tweaking
Verwijderd schreef op maandag 27 augustus 2007 @ 18:15:

[...]

en als jij V-sync aan zet heb je dan ok last van frame drops op drukke stukken ?

Yoor de rest draait hij bij mij namelijk soepel met
V-sync uit
Dat is toch logisch? Elke 3D-applicatie heeft een hogere framerate met Vsync uit. Wat is het probleem?

PC1: 9800X3D + RX 9070 XT || PC2: 5800X3D + RTX 3080 || Laptop: 7735HS + RTX 4060


Verwijderd

Topicstarter
r00n schreef op maandag 27 augustus 2007 @ 18:16:
[...]

Dat is toch logisch? Elke 3D-applicatie heeft een hogere framerate met Vsync uit. Wat is het probleem?
Was bang dat mijn kaar niet goed was of of dat ik de beste drivers niet heb geinstalleerd
Valt dus allemaal wel mee zo te horen, Ik ben namelijk ook wel benieuwd of je er minder last van zal hebben met 2 8800gts 640mb in sli

  • M2M
  • Registratie: Juli 2006
  • Laatst online: 01-12 01:34

M2M

medicijnman

Verwijderd schreef op maandag 27 augustus 2007 @ 18:15:
[...]


en als jij V-sync aan zet heb je dan ok last van frame drops op drukke stukken ?

Yoor de rest draait hij bij mij namelijk soepel met
V-sync uit
ik heb V-sync nooit aanstaan, heb 'm net ff aangezet. maar inderdaad, ik heb ook last van framedrops richting de 20 fps. ff schokjes tussendoor. Geen flauw idee waar dat aan ligt, maar als je framerate hoog genoeg is (30+) zou je de V-sync gewoon uit kunnen zetten. Weet eigenlijk sowieso niet wat je er netto mee opschiet :)

enfin, misschien als je dit ook ff voorsteld op het offi forum, zou je iig de aandacht kunnen trekken van de developers die er misschien wat aan kunnen doen :)

-_-


Verwijderd

Topicstarter
met V-sync aan zie je bvb bij lichtflitsen van bvb stoom stoten geen vage lijnen onstaan.
Met uit zie je dat weer wel. Goed voorbeeld hiervan is het stukje dat zo'n gast boven op de onderzeeër gaat springen (in het begin van het spel) en dan kortsluiting maakt.

Verwijderd

Je GPU krijgt meer te doen, dus gaat de framerate omlaag.
Net wat r00n zegt. :)

  • Da_maniaC
  • Registratie: September 2004
  • Laatst online: 25-11 19:07

Da_maniaC

a.k.a. The Sequenz Pounder

Verwijderd schreef op maandag 27 augustus 2007 @ 18:56:
Je GPU krijgt meer te doen, dus gaat de framerate omlaag.
Net wat r00n zegt. :)
Leg mij eens uit waarom een GPU meer te doen krijgt alleen omdat ik mijn framerate cap met de refresh rate van mijn monitor?

Inventory | Instagram: @sequenzpounder | http://www.zdaemon.org | ZDaemon! Client/Server port for DOOM!


Verwijderd

De GPU heeft helemaal niet meer te doen. Blijkbaar weet je niet wat VSync is.
Ik zal proberen het uit te leggen.

De meeste LCD monitoren hebben een vaste "refresh rate:" van 60Hz (beelden per seconde).
Het aantal FPS dat een GPU kan produceren is variabel en afhankelijk van de complexiteit van de af te beelden omgeving. Probleem is nu dat als je een variable FPS gaat afbeelden op de vaste 60Hz van de monitor, dat je geen hele beelden naar de monitor stuurt. Stel dat de monitor is begonen met een beeld, maar halverwege gaat de GPU het volgende beeld sturen, dan is de onderste helft van het beeld op de monitor van het volgende frame. Dit effect heet "image tearing" oftewel het scheuren van het beeld. Dit is goed te zien bij horizontale bewegingen.

Om dit effect tegen te gaan, moeten de beelden van de GPU gesynchroniseerd worden met de "refresh rate" van de monitor. Dit synchronizeren heet VSync.

Als de GPU meer dan 60 FPS kan leveren, dan wordt het gelimiteerd op 60 FPS.
Als de GPU tussen de 30 en 60 zit, dan wordt het gelimiteerd op 30 FPS.
Als de GPU tussen de 20 en 30 zit, dan wordt het 20 FPS

Met VSync aan zal je dus vrijwel altijd minder FPS halen dan met VSync uit, maar het ziet er wel beter uit.

  • Exorcist
  • Registratie: Maart 2002
  • Niet online

Exorcist

Uitdrijvûrrrr!

_/-\o_

Als mensen het nú nog niet snappen...

  • Tripp
  • Registratie: Januari 2000
  • Laatst online: 16-03-2024

Tripp

Wreah

^^ what he says (Arvades.1).

[ Voor 27% gewijzigd door Tripp op 27-08-2007 19:42 ]

specs


  • HugoBoss1985
  • Registratie: December 2006
  • Laatst online: 23:50

HugoBoss1985

Xenotech

Ik heb bij Rainbow Six Vegas ook last van zulke momenten, 8800 gtx 1680 * 1050 en alles maxed...
Ook met Vsync uit.

  • Kain_niaK
  • Registratie: Juli 2006
  • Laatst online: 08-01 20:46

Kain_niaK

Mijn hobby is niet werken

Verwijderd schreef op maandag 27 augustus 2007 @ 19:22:
De GPU heeft helemaal niet meer te doen. Blijkbaar weet je niet wat VSync is.
Ik zal proberen het uit te leggen.


Als de GPU meer dan 60 FPS kan leveren, dan wordt het gelimiteerd op 60 FPS.
Als de GPU tussen de 30 en 60 zit, dan wordt het gelimiteerd op 30 FPS.
Als de GPU tussen de 20 en 30 zit, dan wordt het 20 FPS

Met VSync aan zal je dus vrijwel altijd minder FPS halen dan met VSync uit, maar het ziet er wel beter uit.
Dat is niet helemaal correct. Je GPU heeft wel een stuk meer te doen. Zeker met Tripple Buffering aan. Er is een verschil tussen het synchroniseren van het beeld en het afkappen van de framerate. Je moet bijvoorbeel HL2 of zo maar eens spelen op een TFT scherm en dan Vsync uitzetten. Daarna stel je fps_max op 60 in. Dan word je framerate gekapt op 60 maar je zult nog steeds last hebben van tearing. By Vsync moet de output echt afgesteld worden op de input van je monitor. Dus soms word er een frame die niet in sync staat weggegooid en opnieuw berekent en dat kost dus extra cpu en een lagere framerate. Met het limiteren heeft dat niks te maken. Lees het volgende stukje maar even (van tweakguide).
There is however a more fundamental problem with enabling VSync, and that is it can significantly reduce your overall framerate, often dropping your FPS to exactly 50% of the refresh rate. This is a difficult concept to explain, but it just has to do with timing. As we know, when VSync is enabled, your graphics card pretty much becomes a slave to your monitor. If at any time your FPS falls just below your refresh rate, each frame starts taking your graphics card longer to draw than the time it takes for your monitor to refresh itself. So every 2nd refresh, your graphics card just misses completing a new whole frame in time. This means that both its primary and secondary frame buffers are filled, it has nowhere to put any new information, so it has to sit idle and wait for the next refresh to come around before it can unload its recently completed frame, and start work on a new one in the newly cleared secondary buffer. This results in exactly half the framerate of the refresh rate whenever your FPS falls below the refresh rate.


As long as your graphics card can always render a frame faster than your monitor can refresh itself, enabling VSync will not reduce your average framerate. All that will happen is that your FPS will be capped to a maximum equivalent to the refresh rate. But since most monitors refresh at 60Hz or above, and in most recent games it is difficult to achieve 60FPS consistently at your desired resolution and settings, enabling VSync usually ends up reducing your FPS. Fortunately, because this problem is pretty much caused by the frame buffers becoming filled up, there is a solution and that's to enable a third frame buffer to allow more headroom. However this is not a straightforward solution, and to read more about this see the Triple Buffering section.

[ Voor 10% gewijzigd door Kain_niaK op 27-08-2007 20:02 ]

en daar heb ik mijn beroep van gemaakt


  • edward2
  • Registratie: Mei 2000
  • Laatst online: 25-10 02:14

edward2

Schieten op de beesten

Probleems is met v-sync is dat als je framerate lager is dan je refreshrate, je framerate gelijk doorzakt naar de helft van je refreshrate, bv 59 fps bij 60 hz wordt 30 fps. Dit komt door de standaard double buffering. Met triple buffering kan je wel 59 fps halen, maar helaas werkt TB nog niet (goed) in dx10. Ik heb het iig met dxtweaker, d3doverride ((onderdeel van rivatuner)met dx10 extentie) geprobeerd in Bioshock.

Niet op voorraad.


Verwijderd

Dus soms word er een frame die niet in sync staat weggegooid en opnieuw berekent en dat kost dus extra cpu en een lagere framerate.
Helemaal niet.
Normaal gesproken gebruik je twee buffers met renderen. De ene buffer is de 'frontbuffer', de buffer die op dat moment op het scherm zichtbaar is. De andere buffer is de 'backbuffer', de buffer waar je het volgende frame in aan het tekenen bent.
Zodra je klaar bent met dat frame, dan 'swap' je de buffers. De backbuffer wordt nu dus frontbuffer, en is zichtbaar. De frontbuffer wordt de nieuwe backbuffer, en die kun je weer gaan vullen met het volgende frame.
Wat vsync hier doet is het swappen van de buffers vertragen tot het moment dat de monitor aan het volgende frame begint. Vsync is namelijk een afkorting van vertical synchronization en slaat erop dat de kathodestraal van een klassieke beeldbuis van rechtsonder weer teruggaat naar linksboven, en op dat moment wordt er dus even niet 'getekend' door de monitor, en zie je geen bij-effecten als tearing (dat ontstaat dus doordat een deel van het beeld al 'getekend' was, en halverwege ineens de buffers geswapt worden, en dus de rest van het beeld met het nieuwe frame getekend wordt, waardoor je ergens een scheiding tussen oud en nieuw frame ziet).
Hoewel LCD en plasmaschermen geen kathodestraal meer hebben, werken ze op zich nog op een soortgelijke manier. De beeldinformatie wordt namelijk nog steeds van linksboven tot rechtsonder verzonden, en als halverwege het verzenden de buffers worden geswapt, heb je nog steeds tearing.

Er worden dus geen frames weggegooid, en de GPU/CPU hoeft niet meer te doen. Het frame wordt gewoon vertraagd totdat de monitor aan het volgende frame begint. Je doet dus eigenlijk minder. Zoals hierboven al gezegd, in eht ergste geval ben je net een fractie te traag (je haalt bv 59 fps, en je monitor is 60 Hz), en moet je dus bijna een compleet frame wachten. De framerate wordt dan meteen gehalveerd van 60 fps naar 30 fps. En dat kan een schokkerig effect hebben.

Wat triple buffering doet, is een derde buffer toevoegen. Deze buffer zit tussen de hierboven geschreven frontbuffer en backbuffer. Je hebt hierdoor dus alvast een frame 'klaarstaan' als de buffers geswapt moeten worden.
Het grootste voordeel hiervan is dat er altijd een backbuffer beschikbaar is om het volgende frame in te tekenen, zodat je niet hoeft te wachten totdat de frontbuffer weer vrijkomt. Hierdoor kan de gemiddelde framerate een stuk hoger blijven liggen, ook al ben je af en toe net niet snel genoeg met het renderen van het volgende frame voor de swap.
Het nadeel is dat je een extra frame 'achterloopt', waardoor een spel iets minder direct lijkt te reageren.
Double buffering met vsync uit is de meest 'directe' manier van spelen, omdat je op volle snelheid je frames rendert, en direct naar de monitor dumpt.

In Direct3D is triple buffering iets dat de ontwikkelaar van het spel in zou moeten bouwen. Dan werkt dit prima. In DX10 is de 'swapchain' heel flexibel, waardoor het met een tooltje niet zo maar gehackt kan worden, je weet niet precies wat je applicatie doet. Helaas bouwen nog te weinig ontwikkelaars deze functionaliteit in.

Verwijderd

Topicstarter
Frames, Time (ms), Min, Max, Avg
lol 2874, 60000, 29, 61, 47.900 d
dit is wat ik haal met v-sync aan haal slaat echt nergens op

  • Ultraman
  • Registratie: Februari 2002
  • Laatst online: 30-11 23:58

Ultraman

Moderator Harde Waren

Boefje

Mooie uitleg. Dat is inderdaad ook wat ik onder VSync versta: Het synchroniseren van de bufferswaps aan de verversingsnelheid van de monitor om zo tearing te elimineren. Waar inderdaad weer haakjes en oogjes aan zitten.

Ludwig83, ik vind echter je eigen inzet ver beneden pijl. Bovendien zijn we niet zeker dat dit een videokaart probleem is. Je hebt het hier immers enkel over Bioshock en ik zie geen andere opmerkingen over andere games. Ook mis ik een flink deel van je systeemspecs en welke drivers je gebruikt en al geprobeerd hebt.
Ook voor de SPV sectie is een topicstart als deze te min. Ik ga hem echter wel voor je moven waarbij ik er vanuit ga dat je de startpost bijwerkt, of een nieuwe posting maakt, met de gewenste info en dingen die je al ondernomen hebt.

VB --> SPV

Als je stil blijft staan, komt de hoek wel naar jou toe.

Pagina: 1