Toon posts:

Hoe zit het nou met Hz/fps EN v-sync?

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

Verwijderd

Topicstarter
Hallo allemaal *D
Hz is de verversingsfrequentie van de monitor. Fps zijn de frames per second die de grafische kaart produceert.(tot zover snap ik het)
En v-sync synchroniseert de boel...maar hoe?
In 1024x768x16 staat mijn monitor op 120Hz, mijn viper genereert dan 55.6 fps maar dat is toch helemaal niet op elkaar te delen?
120/55.6 = 2.15..???
Wat gebeurt er dan? Zie ik dan 40 fps (gedeeld door 3)omdat v-sync de boel netjes probeert te houden?
Wie kan me dat nu eens uitleggen, op search staat wel wat, maar nooit een combinatie van de Hz/fps/v-sync en hoe die "samenwerken".

  • BrZ
  • Registratie: Maart 2000
  • Laatst online: 30-07 09:36

BrZ

Zover ik weet werkt v-sync alleen maar goed als je meer fps haalt dan het aantal Hz van je monitor... maar kweet het niet zeker :D

Verwijderd

Volgens mij is het meer het idee van een snelheidsbegrenzer.

Verwijderd

Op vrijdag 27 juli 2001 21:24 schreef HlpDsK het volgende:
Volgens mij is het meer het idee van een snelheidsbegrenzer.
Yep, maar das wel gunstig bij een hoge refresh, dan heb je tenminste niet dat het gaat schokken, ja gaat schokken ja..
Kijk maar es goed, in racespellen valt het goed op of in de intro van UT...
Banding heet dat...

  • RmanX
  • Registratie: Juni 2001
  • Laatst online: 31-05 19:16

RmanX

Mario pizza!

'ZUCHT' dit is al zo vaak behandeld.
HZ is het aantal beeldverversingen dat je monitor per seconde laat zien. De fps (frames per second) is het aantal beeldjes dat je videokaart bijv in een spel per seconde kan laten zien.
Als je videokaart meer beeldjes per seconde produceert dan je monitor kan ververse onstaat er een soort trilling in het beeld, ook wel Tearing genaamd.
Dit komt omdat er beeldjes worden 'weggelaten door de monitor' , om dit probleem dus op te lossen heeft men Vsync uitgevonden , hiermee wordt dus de maximale fps van je videokaart gelimiteerd aan de refreshrate van je monitor, zodat er geen tearing onstaat.
;)

Ik hoop dat het nu duidelijk is! 8-)

AMD Ryzen 9 3900X | 16 GB DDR4 3200 MHz | AMD Radeon RX Vega 64 | 2 x SSD | 2 x 5400 RPM HDD | LG 16X DVD RW | LG BD | LG 27" 4K


Verwijderd

Topicstarter
Je mag zuchten RmanX...
Maar in mijn geval worden er MINDER frames gegenereerd dan de verversingsfrequentie van de monitor.
En wat gebeurt er dan?
(dat vroeg ik dus al..eigenlijk)

Verwijderd

Je hebt V-sync en V-sync :)

De normale V-sync van videokaart naar monitor is een lijntje die door je VGA kabel of aparte BNC (afhankelijk van je aansluiting) loopt. Dit V-sync signaal is nodig om aan de monitor door te geven wanneer de electronen straal van beneden weer terug kan naar boven om een nieuw beeld te tekenen.
De andere V-sync (in drivers van je videokaart) werkt op het zelfde synchronisatie signaal maar wordt gebruikt door de software. Met dit signaal krijgt de software het teken om met een nieuwe frame te beginnen.
De videokaart heeft twee buffers, een backbuffer en een frontbuffer. Wanneer er een V-sync signaal komt dan wordt de data van de frontbuffer uitgelezen en op het scherm gezet, waarna deze frontbuffer wordt gewist. De data van de backbuffer wordt daarna naar de frontbuffer gekopieerd en niet gewist. Het wissen van de backbuffer wordt alleen gedaan wanneer de software/chipset een frame af heeft.
Je kunt daarom dus een fps hebben van 25 met een refreshrate van 100Hz. Dit betekend dat je dus 4x dezelfde plaat krijgt voorgeschoteld. Anders om, kun je dus 100 fps hebben (op de backbuffer) maar wanneer je een refresh rate van 50Hz hebt ingesteld zie je op je monitor ook maar 50 fps.

Verwijderd

Da's allemaal mooi bij exacte veelvouden .. maar wat als de monitor 160 Hz staat te doen en je videokaart bv 57 Hz?

Verwijderd

Topicstarter
Kijk...de uitleg van Slashhead is iets waar men wat aan heeft (no offence RmanX). *D
En zoals HlpDsk ook al vraagt.. wat gebeurt er bij 120 Hz en 57 fps? :?
Gaat het dan niet om-en-om, maar krijg je een nieuw beeld wanneer de monitor ververst EN de grafische kaart er toevallig tegelijk een klaar hebben? zo van ja-nee-nee-ja-ja-nee-ja-nee-ja-ja..etc?? (begrijp u wat ik bedoel?)

Verwijderd

Wat er gebeurt bij 120Hz monitor, en 57fps.. uhm... vrij simpel. Je PC is niet snelgenoeg om binnen 8 milliseconden een nieuw beeltje te maken, en doet dit bijvoorbeeld in 10 milliseconden. Daardoor mist het net een v-sync signaal, en het programma wacht dus op de volgende. Hierdoor zou je fps op 60 moeten uitkomen. Over het algemeen wijkt dit altijd wat af.. maar ongeveer klopt het altijd wel. Het vervelende wordt echter pas, het moment dat je PC het de ene keer wel binnen die 8ms red, en de andere keer weer niet, dan gaat de framerate dus elke keer van 60fps naar 120fps en weer terug.

Uiteindelijk zorgt het v-sync vinkje ervoor dat op een DirectX->SwapBuffers(); er gewacht word door de computer totdat het v-sync signaal van de videokaart terugkomt. Dit voorkomt dus tearing, wat inhoud dat je monitor twee beelden doorelkaar heen mixed. Zo kan het dus voorkomen dat frame 1 op de bovenste helft van je monitor staat, en frame 2 op de onderste helft, gewoon omdat je PC zo snel is, dat je 2 beelden binnen 1 v-sync zou kunnen tekenen. Vaak zie je daar niet zo heel veel van, maar zeker op het moment dat er grote veranderingen optreden kun je dit goed waarnemen, alsof er een soort breuk/lijn op het scherm verschijnt.

Op een PC die te langzaam is om je refreshrate van je monitor te halen in FPS vindt ik persoonlijk de v-sync een beetje nutteloos, het vertraagt immers je fps nog verder. Op een PC die te snel is echter zou ik het echt aanraden. Vooral als je op een lage Hz hebt ingesteld (60-75 hz ofzo)

Verwijderd

Mijn voorbeeld geldt evengoed voor 991Hz refresh rate en 3,5 fps. Het principe is altijd gelijk.
Vergeet niet dat fps dynamisch is. Je kunt de ene seconde een gemiddelde van 60 hebben en de volgende seconde een gemiddelde van 23 fps. (afhankelijk van de zwaarte van de te renderen 3D scene)
Het gaat om timing. Die timing wordt gedaan middels het V-sync signaal. Je kunt in de drivers soms V-sync uitschakelen maar dat gedt alleen voor de software kant van het verhaal.
Wanneer nu de frontbuffer wordt uitgelezen maar de backbuffer niet gevuld wordt met nieuwe data, omdat de scene zo complex is zodat de fps onder de refreshrate komt, dan wordt gewoon de oude data weer naar de frontbuffer gekopieerd. De backbuffer wordt immers alleen gewist wanneer een gerenderde scene af is.

Verwijderd

moet ik het nouw aan of uit zetten en ja ik haal meer pfs dan m'n monitor aan kan

Verwijderd

uit
Pagina: 1