If you use timer + event based, this is not the same like waittimer.
But you can call rendering time based (as if you would do it by time differences). The main difference on that approach is, that if nothing happens and nothing has to be rendered, then the program has 0% cpu usage! (and if you do it intelligently, you will get up to 300k mainloop runs at 60FPS and that on a 1,5ghz with radeon 9700) *ok not much going on, but just to show the difference we are talking of here*
Side effect of this technique is as well, that you don't have the so called mouse lag problem which just happens because of 300+ frames actually drawed although its totally pointless (just wastes a lot of cpu time with rendering instead of a more dynamic world)
But you can call rendering time based (as if you would do it by time differences). The main difference on that approach is, that if nothing happens and nothing has to be rendered, then the program has 0% cpu usage! (and if you do it intelligently, you will get up to 300k mainloop runs at 60FPS and that on a 1,5ghz with radeon 9700) *ok not much going on, but just to show the difference we are talking of here*
Side effect of this technique is as well, that you don't have the so called mouse lag problem which just happens because of 300+ frames actually drawed although its totally pointless (just wastes a lot of cpu time with rendering instead of a more dynamic world)