我用 javascript/html/css 编写了一个小浏览器游戏。为了提高我的游戏的性能,我想检查游戏在玩游戏的人的浏览器上是否运行缓慢并自动降低偏好。
有人知道如何检查当前用户(或硬件数据)的每秒帧数吗?
我用 javascript/html/css 编写了一个小浏览器游戏。为了提高我的游戏的性能,我想检查游戏在玩游戏的人的浏览器上是否运行缓慢并自动降低偏好。
有人知道如何检查当前用户(或硬件数据)的每秒帧数吗?
如果您只使用 javascript、html 和 css(没有 jquery 或 dojo 或...),那么您应该自己测量。我假设你会有一些 while 循环来重新渲染整个屏幕或部分。检查调用了多少次,通过使用 Date() 你可以决定一帧的时间:
from=new Date();
//render one frame
to = new Date();
dt=to-from;
setFPS(1000/dt);
你可以使用
window.requestAnimationFrame
requestAnimationFrame = window.requestAnimationFrame || window.mozRequestAnimationFrame ||
window.webkitRequestAnimationFrame || window.msRequestAnimationFrame;
var start = window.mozAnimationStartTime; // Only supported in FF. Other browsers can use something like Date.now().
function step(timestamp) {
var progress = timestamp - start;
d.style.left = Math.min(progress/10, 200) + "px";
if (progress < 2000) {
requestAnimationFrame(step);
}
}
requestAnimationFrame(step);
更多关于: https ://developer.mozilla.org/en/DOM/window.requestAnimationFrame