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

Javascript 如何使用FPSMeter测量WebGL页面中的FPS?,javascript,performance,webgl,frame-rate,Javascript,Performance,Webgl,Frame Rate,我正在尝试测量我从我的WebGL网页获得的FPS,使用。我想从canvas元素中测量FPS,我在其中渲染图形。主体和画布声明如下: <body onload="webGLStart();"> <canvas id="canvas" style="border: none;" width="800" height="500" align="center"></canvas> </body> function webGLStart() {

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

<body onload="webGLStart();">

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

</body>
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

有人知道为什么会发生这种情况以及如何解决吗


非常感谢

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

功能记号{ 米。滴答声开始; //在这里画场景 米。滴答声; //requestAnimationFrametick? }
我在这里没有看到任何代码在每一帧都重新绘制画布,但是您应该将meter.tick放入该方法中您的tick?,而不仅仅是在init中。我现在已将其放入绘制场景的函数中,并且可以正常工作。谢谢:仅供参考:FF可能也会吗?@Peteholl我很高兴我帮了忙,我会发布一个答案,这样问题就不会没有答案了: