2013-04-22 2 views
0

Я пытаюсь сравнить количество раз, когда 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?

ответ

0

Попробуйте инструменты инструментов. вы можете измерить кадры для каждого учащегося с помощью основного инструмента анимации.

+0

Но это не FPS, который я пытаюсь захватить. Сколько раз iOS можно рисовать между обновлениями экрана. – Andain