For my application, the gui is running independently of the core and takes only a fraction of the total computation power. Therefore, I want to give my "world" as much power as possible and not waste half the computation time on the GUI, waiting to take an other turn. On the other hand, I want both to run on independent speeds. I do not want either to depend on the other. Therefore, both run in sperated threads.
For games, the refreshrate should be as constant as possible and I just realised that the desired accuracy can not be provided by the sceduler of a general (= not realtime) OS. So its no wonder the driver makes a busy wait until the time has come to render an other frame. I was somehow hoping to find a "natural" solution for the waiting cycle, but I guess I have to do it manually. Its not importent for my application to have a absolut constant framerate, so I will use a manual sleep command using the boost library.
Thx everyone and cheers!
PS: Edith rephrased the text a it to make it more readable