loss of precision. Quake2 uses an integer coordinate system. When you convert a float to the closest integer, the more times you do it, the more precision you lose.
Say I'm going from 1 to 2. In one step, if I go from 1, add 1.0, go to 2.0, convert it to an integer: 2. Works fine, but what if I do it in 4 steps? 1, add .25, get 1.25, convert to an integer: 1. Add .25, convert to an integer, still 1. Add .25... you get the idea. That's why at the highest framerate, if you look at the data there:
316
317
318
319
319
319
319
319
319
319
319
319
318
317
316
It never gets aboe 319 because the increments are so low -- not enough to reach the next integer.
Thus it baffles me that you can land higher when the actual hight you reach is lower...