如何使用FPSMeter在WebGL页面中测量FPS?

时间:2014-12-27 22:45:57

标签: javascript performance webgl frame-rate

我正在尝试使用FPSMeter来衡量我从WebGL网页获取的FPS。我想在canvas元素中测量FPS,我在其中渲染图形。正文和画布声明如下:

<body onload="webGLStart();">

<canvas id="canvas" style="border: none;" width="800" height="500" align="center"></canvas>

</body>

我宣布了一个新的FPSMeter实例,webGLStart()的定义如下:

function webGLStart() {
    var canvas = document.getElementById("canvas");
    initGL(canvas);

    meter.tickStart();

    initShaders();      
    initBuffers();

    document.onkeydown = handleKeyDown;
    document.onkeyup = handleKeyUp;

    tick();
    meter.tick();
}

我在页面上看到了FPS表,但FPS从7点左右开始,在一秒左右后降至0。

有谁知道为什么会发生这种情况以及如何解决这个问题?

非常感谢!

1 个答案:

答案 0 :(得分:0)

您需要将基准测试代码移动到执行绘图的函数中,如下所示:

function tick() {
    meter.tickStart();
    // draw the scene here
    meter.tick();
    // requestAnimationFrame(tick) ?
}