获取javascript中的用户帧率

获取javascript中的用户帧率,javascript,html,css,performance,Javascript,Html,Css,Performance,我用javascript/html/css编写了一个小的浏览器游戏。为了提高游戏的性能,我想检查玩游戏的人的浏览器上的游戏是否运行缓慢,并自动降低首选项 有人知道如何从当前用户(或硬件数据)检查每秒帧数吗?如果您只使用javascript、html和css(没有jquery、dojo或…),那么您应该自己测量。我想你会有一些while循环,重新播放整个屏幕或部分。检查调用次数,然后使用Date()确定帧的时间: from=new Date(); //render one frame to = n

我用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);

如果您只使用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);
requestAnimationFrame=window.requestAnimationFrame | | window.mozRequestAnimationFrame||
window.webkitRequestAnimationFrame | | window.msRequestAnimationFrame;
var start=window.mozAnimationStartTime;//仅在FF中支持。其他浏览器可以使用类似Date.now()的内容。
功能步骤(时间戳){
var progress=时间戳-开始;
d、 style.left=Math.min(progress/10200)+“px”;
如果(进度<2000年){
请求动画帧(步骤);
}
}
请求动画帧(步骤);

更多关于: 您可以使用

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);
requestAnimationFrame=window.requestAnimationFrame | | window.mozRequestAnimationFrame||
window.webkitRequestAnimationFrame | | window.msRequestAnimationFrame;
var start=window.mozAnimationStartTime;//仅在FF中支持。其他浏览器可以使用类似Date.now()的内容。
功能步骤(时间戳){
var progress=时间戳-开始;
d、 style.left=Math.min(progress/10200)+“px”;
如果(进度<2000年){
请求动画帧(步骤);
}
}
请求动画帧(步骤);

更多关于: