Я пытаюсь сравнить количество раз, когда iOS изначально может рисовать между обновлением фрейма по сравнению с HTML5/JavaScript.Измерьте, сколько раз iOS может рисовать за кадр
Используя этот JavaScript я получить номер для того, как раз, возможно, браузер может сделать в течение 33 мс (30 Гц):
var ctx = document.getElementById('canvas').getContext('2d');
var img = document.getElementById('img');
var draw = function(load) {
var angle = 0.01;
ctx.clearRect(0,0,400,400);
ctx.save();
ctx.translate(200,200);
for (var i=0; i<load; i++) {
ctx.rotate(angle);
ctx.drawImage(img, 0, 0);
}
ctx.restore();
};
var t, previousTime;
var drawLoad = 1;
var slowCount = 0;
var maxSlow = 10;
var requestAnimationFrame = window.requestAnimationFrame ||
window.webkitRequestAnimationFrame ||
window.mozRequestAnimationFrame ||
window.oRequestAnimationFrame ||
window.msRequestAnimationFrame;
t = previousTime = Date.now();
var tick = function() {
var maximumFrameTime = 1000/30; // 30 FPS
t = Date.now();
var elapsed = t - previousTime;
previousTime = t;
if (elapsed < maximumFrameTime || slowCount < maxSlow) {
if (elapsed < maximumFrameTime) {
drawLoad+=10;
} else {
slowCount++;
}
draw(drawLoad);
requestAnimationFrame(tick);
} else {
// found maximum sustainable load at 30 FPS
document.getElementById('res').innerHTML = ("could draw "+(drawLoad)+" in " + maximumFrameTime + " ms");
}
};
requestAnimationFrame(tick);
См http://jsfiddle.net/tbhZs/117/ для полного кода с HTML-разметкой.
Я пробормотал в объективе-c, не найдя справедливого способа получить сопоставимое количество. Есть ли способ создать сопоставимый бенчмарк в iOS?
Но это не FPS, который я пытаюсь захватить. Сколько раз iOS можно рисовать между обновлениями экрана. – Andain