First post, by tigrou
I ran the following program in DOSBox (it display a spinning 3D cube)
I was surprised to see that FRAPS can report very precisely the number of FPS (probably because it hooks page_flip() or vsync() methods of DOSBox).
Program source is available in the zip file and if you take a look at it, you will see the only thing it does each frame is to call a Flip() method which to copy one buffer to another using rep movsw. There is no vsync call. There is also one Cls() call, but it is similar to Flip() : it set to zero all bytes of the screenbuffer.
So my question is : how does DOSBox detect when to do the swap the screen buffers ? if there is no swap (and no vsync as explained earlier), how can Fraps calculate the FPS ?