> GameMaker averages the number over the last second or two
Why not count the frames yourself and use a hi-res timer to get the proper FPS for a run?
By your own definition it doesn't work accurately other on really slow machines. The previous test will always affect the result for the current test. Test1 will always have a higher FPS so the first readings for Test2 will be artificially higher than real - repeat this observation as it will hold true for each test
Like I said, i built in a delay between rounds that should wait out the time it takes for the sliding window to catch up.
That said, I checked the HTML5 source and it apparently takes two seconds for the fps value to refresh and I only accounted for one, so I edited it again.