0

javascript/html/css で小さなブラウザ ゲームをプログラミングしました。ゲームのパフォーマンスを向上させるために、ゲームをプレイしている人のブラウザでゲームの実行が遅いかどうかを確認し、設定を自動的に下げたいです。

現在のユーザー (またはハードウェア データ) から 1 秒あたりのフレーム数を確認する方法を知っている人はいますか?

4

2 に答える 2

4

JavaScript、html、および css のみを使用している (jquery や dojo などを使用していない) 場合は、これを自分で測定する必要があります。画面全体または一部を再レンダリングするwhileループがあると思います。これが呼び出された回数を確認し、Date() を使用してフレームの時間を決定できます。

from=new Date();
//render one frame
to = new Date();
dt=to-from;
setFPS(1000/dt);
于 2012-05-23T15:06:53.093 に答える
2

あなたが使うことができます

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

于 2012-05-23T15:09:57.153 に答える