Avg: 145.6
Harmonic Mean (OP's proposal): 128
Geometric Mean: 135.6
None of these give the desired answer "lower than 120 FPS"
But they just make things very complicated for people who barely know how to read a chart
I have to point out that my proposal was not a
harmonic mean calculation, but an
average (of frame times). Yes, due to a relationship between these two units (FPS and frame time),
average (of frame times) gives same result as
harmonic mean (of FPS). Why am I even bringing this up, if they they produce exactly the same result!!? Because, you can also calculate
harmonic mean (of frame times) and
geometric mean (of frame times).
These two might even give desired answer of "lower than 120 FPS" in your example. EDIT: Actually, they won't give you a lower value. Due to relationship between units, all methods are interrelated. Harmonic mean (of frame times) is equal to average (of FPS) and geometric mean (of frame times) is equal to geometric mean (of FPS).
It's not complicated to someone who barely knows how to read a chart, because he only looks at pretty pictures and, as you said, his brain says "average should be the red line". So, a lower line will unconsciously
feel more natural, even though he doesn't understand how it is calculated and probably doesn't even care.
But for those who are interested in the details, you could include a link in reviews to a page describing the method. If you include pretty pictures (like the ones you posted above) that show why more advanced calculation is used, they will understand, even if they might not grasp the math part.
Frame time is essentially a latency of frame calculation. If we take numbers from adilazimdegilx's example, we have three latencies: 33.33 ms, 16,67 ms and 0.01 ms. One way of calculation says that the
average latency is 0.03 ms and the other that it's 16.67 ms. Which one
feels more correct and useful?
FPS number is easier to interpret for the reader than milliseconds, so results should be in FPS. However, that doesn't mean that FPS is also the best unit for doing calculations. Calculations should be done in frame times and results converted back to FPS.
EDIT: Explaining you are calculating average of frame times and converting result back to FPS is not really THAT much more complicated. I don't understand why do you feel it needs to be explained as "harmonic mean of FPS". Average of frames per second is "harmonic mean of frame times", so either method can be turned to sound daunting.
EDIT 2: Another thing, tools for measuring average FPS in one game are already calculating average of frame times (or harmonic mean of FPS as you like to call it):
Ingame benchmark tools, OCAT, FRAPS, PresentMon, CapFrameX - all these tools ultimately give the user FPS values, but these are not the values that are being measured.
What is measured are the time intervals between the individual images: The frametimes.
the performance metrics get calculated using the raw frametime data converted to FPS.
So, you are already using the average of frame times (harmonic mean of FPS) method in your process.
Why do you think it's better to
calculate the average performance of multiple games differently than how benchmarking tools are calculating average performance of a single game?
EDIT 3: Since, the measurements are done in frame times, frame times are the base unit and FPS is a derived unit. So, average of FPS is average of a derived values which in turn is equal to the Harmonic Mean of the base measurements.