1 (function(){ 2 3 var framesPerTimerReading = 10; 4 var frameCount = 0; 5 var startTime; 6 var trackingFrameRate = false; 7 8 function trackFrameRate(currTime) 9 { 10 if (++frameCount == framesPerTimerReading) { 11 frameCount = 0; 12 PerfTestRunner.measureValueAsync(1000 * framesPerTimerReading / (currTime - startTime)); 13 startTime = currTime; 14 } 15 16 if (trackingFrameRate) 17 requestAnimationFrame(trackFrameRate); 18 } 19 20 window.startTrackingFrameRate = function() { 21 if (trackingFrameRate) 22 return; 23 trackingFrameRate = true; 24 startTime = performance.now(); 25 trackFrameRate(); 26 }; 27 28 window.stopTrackingFrameRate = function() { 29 trackingFrameRate = false; 30 }; 31 32 })(); 33