When working with 3D animation, it is vital that the framerate of the software remains consistent. This ensures that each frame of animation is displayed on screen for the same amount of time as one another. This make for a much smoother result, but also enforces correct speeds such as walking or jumping.
So with this in my applications main loop, the framerate stays at a constant 30fps. Admittedly 30fps is a littleslow for most 3D applications, but my Thinkpad X61 hasn't got much power for graphics processing. This could be expanded upon to skip frames if the target is lower than the difference.
This example uses glutGet to obtain the time, this could easily be changed for individual GUI toolkits. It would even be possible to create a bespoke timer by introducing a thread that just counts continuously.