• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1(function(){
2
3var framesPerTimerReading = 10;
4var frameCount = 0;
5var startTime;
6var trackingFrameRate = false;
7
8function 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
20window.startTrackingFrameRate = function() {
21    if (trackingFrameRate)
22        return;
23    trackingFrameRate = true;
24    startTime = performance.now();
25    trackFrameRate();
26};
27
28window.stopTrackingFrameRate = function() {
29    trackingFrameRate = false;
30};
31
32})();
33