This, and a lot more besides. Function is right on the money with his recent posts. A rate doesn't need a specific interval to be determined - you don't have to drive for an hour to hit a speed of 30 mph. And a rate can be sampled at any point from a continuous source and needn't be taken at specific regular intervals, although we will when charting changes.
Perhaps I need to speak more clearly, but I maintain that rates
are a trend of sorts; actually, even for continuous sources, your claim that a rate can be sampled from any point without concern to intervals is incorrect, as there are functions that `are continuous everywhere but cannot be differentiated in places (sometimes even
anywhere). For a derivative to exist, a function needs to be sufficiently (*waves arms around*)
smooth, which in turn forces the notion of "trend" to be reasonable to apply, even if sometimes only on a very small scale.
But also, frame outputs aren't a continuous source. Instantaneous speed can be pretty clearly defined, even according to sample-based formulas like (x2-x1)/(t2-t1), by taking the limit as the spacing between the two samples goes to zero. There really isn't an analogous "obvious" thing for framerate, which is why it starts to be a confusing thing as you use a sharper and sharper filter for determining it. The time at which a frame boundary occurs says nothing about rates unless you consider when other frame boundaries are occurring. Any reasonable formula that divides out a frame count by a fixed time delta to get framerate is going to fall apart and behave extremely weirdly (flopping between "0" and huge numbers, for instance) when the time delta gets very small. The way you get Function's numbers is quite different, as it works by using a variable time delta, defining said delta in terms of the time-width of the frame that the current sample location sits within, i.e. fps = (1 frame)/(display duration of current frame). I suppose this sort of definition "works", but it's a little bit weird
, and at some level it needs to be described on account of not being an obvious natural choice for "instantaneous rate."
Frame time is clear and unambiguous without any need to be explained or justified. Saying that a frame displays for 50ms is pretty much exactly what it says on the tin.
And finally, the idea of dropping to 20fps is perhaps more descriptive of a the perceptive difference then the average framerate of the past 60 or whatever frames will give.
Only if you take the time to describe what you mean by "20fps" and when it's 20fps for. A long time-average by itself isn't significantly less useful than a single sharp "framerate" or "frame time" value by itself. A single 50ms frame in the midst of a bunch of 33ms frames doesn't have the same experiential feel that I associate with "20fps."
I agree that we shouldn't just use lengthy time-averages to describe performance, but I also think that using "count/time" as the dimension when describing fine characteristics on a discrete distribution is clumsy.