我正在尝试使用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。
有谁知道为什么会发生这种情况以及如何解决这个问题?
非常感谢!
答案 0 :(得分:0)
您需要将基准测试代码移动到执行绘图的函数中,如下所示:
function tick() {
meter.tickStart();
// draw the scene here
meter.tick();
// requestAnimationFrame(tick) ?
}