blight: the UpdateScreen function is called when a vertical retrace interupt occur (can be many times per frame). And your are calculating the number of SwapBuffer per second which is usually (but not always) call one time per display list.
So we can say that DList/s ~ FPS but != VI/s