Per semplificare come rendere uniforme la velocità su tutti i pc scrivo un pseudocodice:
//si presuma che un tick cpu sia dato ogni millisecondo
int tempoDaAvvio = TickCPU();
int tempoNow;
double fps = (1.0 / 30.0) * 1000.0;
while( GiocoNonFinito() )
{
tempoNow = TickCPU();
mossa = InputUtente();
GiocoMuovi( tempoNow - tempoDaAvvio, mossa );
GiocoRedraw();
if ( TickCPU() - tempoNow < fps )
SleepMillisecond( (int) fps - (TickCPU() - tempoNow) );
}