Jo ich hab den vertical sync gemeint, das hängt aber auch mit dem buffering zusammen.
also wenn buffering nicht bestandteil des treibers ist, dann hat der Programmierer das selber zu machen (ob ich nun eine lib verwende oder nicht). was wiederum bedeutet direkter HW zugriff, ggf. sogar kentniss der entsprechenden HW da ggf. anders gelöst. Wobie Animationen sicher nicht der masstab sein sollten.
ich vorstelle mir das so vor, du kanst den kreis auf dem aktuellen sichtbaren Monitor puffer zeichnen (der treiber schaut dann, das das ggf nicht flimmert), oder auf einem nicht sichtbaren. auf den nicht sichtbaren, kannst du auch mehre elemente nach einander zeichnen lassen, ohne das es zu hässlichen flimmern kommt. (z.B. fenster aufbau) erst wenn alles fertig ist sagst man dann per software dann das er austauschen soll.
oder was ggf auch noch sinn voll ist, eine virtulle monitorauflösung die grösser als die sichtbare ist. nur doch positionierung von x und y kannst du dann auf dem virtuellen Monitor scrollen.
Ich weis auch nicht was alles unter 2D beschleunigung sich alles verbirt. z.B. könnte ich mir vorstellen, das ich teilbereiche eines bildes im speicher durch die gegend kopieren kann. z.B. Hintergrund, aktuelles Fenster, und durch die gegend ziehen.
aber das ist auch der grund wiso unter windows z.B. grafikkarten treiber eine gewisse sonderstellung haben. sie dürfen z.B. direkt auf die hw zugreifen, da der normale weg einfach zu langsam ist. siehe dazu win NT4 zu win2000 und nachfolgend.