Suština je jednostavna: neka je osvežavanje monitora dva herca (dakle dvaput u sekundi se slika iz video memorije pošalje na ekran), a u toku te sekunde od aplikacije stignu tri zahteva za crtanje frejma. Poslat je prvi frejm u video memoriju i dalje na monitor, i on ga je prikazao. Međutim, kada otkuca drugi herc na polovini sekunde (tj kad naiđe vblanking interval, ali da ne komplikujemo), ti si tada na pola popunjavanja drugog frejma (i to popunjavanje ide tako što gaziš prethodni sadržaj slike). Drajver će pokupiti i poslati ono što je zatekao u tom trenutku (do pola iscrtan novi frejm i od pola ono što je bilo u prethodnom), i na ekranu ćeš videti "polomljenu" sliku.
Jedan od načina implementiranja v-synca je double buffering, odnosno postoje dva video bafera u memoriji, jedan se vodi kao "aktivni" a drugi kao "pozadinski". Video drajver vodi računa da se, kad krene monitorski "herc", pošalje sadržaj aktivnog bafera, a u međuvremenu svi aplikativni zahtevi za iscrtavanjem idu u pozadinski bafer. I onda kako dođe vreme za puštanje nove slike na osnovu hercaže monitora, sadržaj pozadinskog se prebaci u aktivni i pošalje na monitor, a novi zahtevi za crtanje frejma idu u pozadinski, i tako u krug. Ovako se vrši vrlo kontrolisano iscrtavanje sinhrono sa slanjem slike sa grafičke na monitor.
Eliminisanje lagovanja je dodatna zajebancija čija implementacija prevazilazi obim ovog teksta :P
Druga varijanta (bez v-synca) je da sama aplikacija vodi računa o broju iscrtanih fejmova u sekundi (takozvani "fps cap"), na primer tako što će da održava sopstveni double buffering, ali uspešnost toga zavisi od endžina do endžina.