I am building a game, and as most vb programs, there are a few event based aspects. But my engine is not. and I am trying to run my engine as fast as I can and for all of my events to happen. my first solution was to put it in a timer, but as you probably already know, a timer is not fast enough when it comes to redrawing the full screen in neccesary moments. I have implemented in my engine the following code:

dim events as boolean
...
events= false
do
DoEvents
if events = true then exit do
loop
...
'in every event I have implated the following
events = true

this work, as long as an event happens, but it does not give me a steady frame rate because it comes to a crwal when I'm doing nothing and when I move my mouse for example, it sky rockets... I want to know if there is a better way of knowing if the events have been completed??

any help would be greatly appreciated....