Überleg doch mal, was bei 59 fps geschieht. Sagen wir, zum Zeitpunkt 0 wurde gerade ein Bild vom backbuffer in den frontbuffer geschrieben. Während der nächsten 16,66666 ms (1/60) wird das Bild auf den Schirm geschrieben. Es kommt der vsync Impuls, und es wird überprüft, ob der pageflip stattfindet. Das zweite Bild ist allerdings erst bei 16,95 ms fertig, das heisst bei 16,666 ms befindet sich im backbuffer ein noch unfertiges Bild. Der pageflip wird also nicht durchgeführt. Bei 16,95 ms ist das Bild fertig berechnet und soll natürlich angezeigt werden. Allerdings wird dafür der nächste vsync Impuls abgewartet, der bei 33,333 ms erfolgt. Was soll der Rechner in dieser Zeit machen? Er kann schlecht anfangen, ein drittes Bild zu berechnen, da er dafür ja in den backbuffer schreiben müsste und das zweite Bild ruinieren würde.
Eine Lösung wäre ein dreifach gepuffertes System: Hinter dem backbuffer müsste noch ein weiterer buffer sein, in dem das Bild berechnet wird. Sobald ein Bild fertig ist, wird es in den backbuffer geschrieben, und von dort bei jedem vsync Imuls in den front buffer geschrieben. Keine Ahnung, ob sowas verwendet wird.
Eine Lösung wäre ein dreifach gepuffertes System: Hinter dem backbuffer müsste noch ein weiterer buffer sein, in dem das Bild berechnet wird. Sobald ein Bild fertig ist, wird es in den backbuffer geschrieben, und von dort bei jedem vsync Imuls in den front buffer geschrieben. Keine Ahnung, ob sowas verwendet wird.