如何在WebGL中实现每秒帧数?

时间:2016-03-21 13:41:03

标签: javascript webgl requestanimationframe

假设我在window.requestAnimFrame(somemethod);

中使用WebGL在画布上绘图

如何获得每秒帧数?

例如,打开此Link,显示左上角每秒的帧数。

如何使用纯JavaScript实现类似的功能?没有API请。

2 个答案:

答案 0 :(得分:2)

在某些方法中,全局变量counter增加,然后将间隔添加到日志值

setInterval(function(){ console.log('fps:'+counter); counter=0; },1000);

答案 1 :(得分:2)

setInterval不准确,如果进行繁重的工作,可能会延迟和/或堆叠,只需使用传递给请求动画帧回调的时间戳。

var prev = 0;
requestAnimationFrame(function (now) {
    var delta = now - prev;
    var fps = 1000 / delta;
    prev = now;
    // render logic
});