You likely have the vertical synchronization enabled so the buffers can not be swapped faster than the refresh rate of your monitor (85Hz). You can disable the synchronization from driver control panel or using the WGL_EXT_swap_control extension (if application control is allowed in the control panel)
Originally posted by jtipton: You should also compute the FPS after the swap buffers call. That represents the “actual” rate perceived by the user.
Trough the law of averages it really doesn’t matter where you put it as long as it is in the same place for every frame (though if you place it just before the swap buffers call the FPS can get a bit unstable if you use a lower sample count/time).
I normally do it in the beginning of the loop when i get the delta value, and i also sometimes use an average filter on the displayed FPS just to stabilize it a bit.