衡量iOS每帧可以绘制多少次
Measure how many times iOS can draw per frame
我正在尝试测试iOS原生的帧刷新次数与HTML5/JavaScript相比。
使用这个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标记代码。
我在objective-c中摆弄了一下,没有找到一个公平的方法来得到一个可比较的数字。是否有办法在iOS上生成可比较的基准测试?
尝试仪器工具。你可以通过核心动画仪器测量每秒的帧数。
相关文章:
- 检查表格提交了多少次
- 单击时将功能限制为仅绘制一次
- 应设置超时触发多少次
- 我需要在 500 次收集或我告诉它多少次收集后停止点击
- 使用输入多少次掷骰子,然后只输出最后一掷Javascript上的两个骰子的总和
- 我必须在外部脚本中包含 $(document) .ready (function() 多少次
- 如何找到突出显示的字符串有多少次出现,以及它是哪个出现次数
- 从 API 调用中,如何获取字段并查看该值重复了多少次
- 实例化函数对象时创建局部变量多少次?( 高级 )
- 在HTML5画布上慢慢绘制二次曲线
- 如何只重新绘制一次饼图,而不是为它的每个数据标签绘制一次
- 我怎么能数出某个东西在我的对象中出现了多少次
- 试图跟踪多少次java脚本函数被调用
- 我如何找出多少次函数调用javascript/jquery
- jQuery:如果我在一个item类上调用.change(),它会被调用多少次?
- 检查一个URL包含某个字符多少次
- 如何防止一个模态被绘制多次
- 衡量iOS每帧可以绘制多少次
- 多少次我必须调用http模块
- JS时间计算-一个日期在两个日期之间发生了多少次