Mire usted sr don patron, enquisiera saber cual método conviene usar para controlar bien bien el framerate.
El que ando usando es el que usa la mayoría, de tener dos funciones que controlan el timer para el inicio (que se ejecuta al inicio del game loop) y otra que devuelve la resta del tiempo actual menos el inicial del loop (currenttime).
Y despues se ejecuta al final del gameloop un while o un do while que espera que un contador que almacena el currentime tenga cierta cantidad de milisegundos.
La condición que uso es que llegue a 17 ms (el redondeo de hacer regla de 3 simple, si 60 cuadros los hago en 1000 ms, 1 cuadro lo dibujaré en 1000/60 = (aprox) 16,66).
Lo que no se si esto es lo mejor. Otra solución era usar la librería SDL_framerate que trae el SDL_gfx, pero no se que tal funciona.