javascript/html/css で小さなブラウザ ゲームをプログラミングしました。ゲームのパフォーマンスを向上させるために、ゲームをプレイしている人のブラウザでゲームの実行が遅いかどうかを確認し、設定を自動的に下げたいです。
現在のユーザー (またはハードウェア データ) から 1 秒あたりのフレーム数を確認する方法を知っている人はいますか?
javascript/html/css で小さなブラウザ ゲームをプログラミングしました。ゲームのパフォーマンスを向上させるために、ゲームをプレイしている人のブラウザでゲームの実行が遅いかどうかを確認し、設定を自動的に下げたいです。
現在のユーザー (またはハードウェア データ) から 1 秒あたりのフレーム数を確認する方法を知っている人はいますか?
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