Patch 2/4 in v6 has a confusing title, since it doesn't change anything about the value of fps_d, but rather, how fps_n and fps_d are translated to framerate.
Moreover, though, I don't hate it, but it might be clearer to explicitly translate an AvgTimePerFrame of zero to fps_n = fps_d = 0.
Can we have tests for framerates other than zero?