Hace ya dos años que hice el sistema de animacion suave para los sprites de CRM32Pro pero si mal no recuerdo basicamente hacia esto:
- dos velocidades, una de render grafico(puedes poner los fps que quieras o no poner freno alguno) y otra de velocidad logica(asi ira igual de rapido en todos los pcs)
- si un objeto se mueve 10pixels cada "frame" logico(digamos 20 por segundo), se moveria 200pixels cada segundo pero de una forma ruda, cada 1/20 seg, se moveria 20pixels...
- usando una interpolacion lineal y una media de los ultimos segundos de la velocidad media de ejecucion de los frames graficos, lo que hago es dibujar pixel a pixel(en el mejor de los casos) ese objeto que se mueve de 20pixels en 20pixels.
- naturalmente, en algunos casos puede existir un pequeño "lag" pero es inapreciable respecto a lo que se gana, una suavidad tremenda y la posibilidad de poder trabajar con velocidades logicas muy bajas(incluso 10) siendo independiente de la velocidad grafica.
Cuando hice todo esto, estuve buscando y mirando intesivamente por inet y me parecio la mejor forma de hacerlo (me inspiro David Olofson y su ejemplo pig que podeis encontrar aqui:
http://olofson.net/mixed.html, este tio y un par mas de maquis que he conocido gracias a SDL realmente son tremendos!).
Por cierto, estaria bien si abris un thread en otro sitio mas adecuado, como querais

Saludos