当前位置: 首页 > 文档资料 > Three.js 入门指南 >

6.2 使用stat.js记录FPS

优质
小牛编辑
130浏览
2023-12-01

stat.js是Three.js的作者Mr. Doob的另一个有用的JavaScript库。很多情况下,我们希望知道实时的FPS信息,从而更好地监测动画效果。这时候,stat.js就能提供一个很好的帮助,它占据屏幕中的一小块位置(如左上角),效果为:,单击后显示每帧渲染时间:

首先,我们需要下载stat.js文件,可以在https://github.com/mrdoob/stats.js/blob/master/build/stats.min.js找到。下载后,将其放在项目文件夹下,然后在HTML中引用:

<script type="text/javascript" src="stat.js"></script>

在页面初始化的时候,对其初始化并将其添加至屏幕一角。这里,我们以右上角为例:

例6.2.1例6.2.2

var stat = null;

function init() {
    stat = new Stats();
    stat.domElement.style.position = 'absolute';
    stat.domElement.style.right = '0px';
    stat.domElement.style.top = '0px';
    document.body.appendChild(stat.domElement);

    // Three.js init ...
}

然后,在上一节介绍的动画重绘函数draw中调用stat.begin();stat.end();分别表示一帧的开始与结束:

function draw() {
    stat.begin();

    mesh.rotation.y = (mesh.rotation.y + 0.01) % (Math.PI * 2);
    renderer.render(scene, camera);

    stat.end();
}

最终就能得到FPS效果了。