测量渲染时间的工具
Posted
技术标签:
【中文标题】测量渲染时间的工具【英文标题】:Tool to measure Render time 【发布时间】:2010-11-22 08:19:58 【问题描述】:是否有工具可以测量页面上元素的实际渲染时间?我不是指资源的下载时间,而是浏览器渲染某些东西的实际时间。我知道这个时间会根据客户端机器上的因素而有所不同,但在了解渲染引擎需要一段时间加载时仍然非常方便。我想这应该是一个有用的实用程序,因为 Web 应用程序现在变得非常繁重。有什么想法吗?
【问题讨论】:
【参考方案1】:Firebug for Firefox 已将其集成到“Net”-Tab 中。
需要火狐(我是用12.0版做的)配置修改,地址栏输入about:config
然后搜索dom.send_after_paint_to_content
将dom.send_after_paint_to_content
设置为真。
除了蓝色 (DOMContentLoaded
) 和红色(加载)线之外,MozAfterPaint
然后在网络加载时间线中绘制为绿色的小垂直线。
【讨论】:
我在 FF 19.0.2 中设置了 dom.send_after_paint_to_content = true 但没有得到任何绿线......?!【参考方案2】:您可以查看YSlow。
编辑:在我看来firebug 在网络面板中用蓝线和红线显示渲染时间。
【讨论】:
我查看了 YSlow。它为您提供了性能、加载时间和缓存统计信息的整体视图,但就我所见而言,没有关于特定元素渲染所需时间的信息。我错过了什么吗? 它只对一些要删除的 DOM 元素提出建议。我相信实际的渲染时间很大程度上取决于浏览器。【参考方案3】:我一直在使用这个脚本来分析一些页面的渲染时间:
<script language="javascript">
<?
$output = str_replace('=', 'A', base64_encode(file_get_contents('data.txt')));
echo "\tCode = \"" . substr($output, 0, 512) . "\"";
$size = strlen($output);
for ($i = 512; $i < $size; $i += 512)
echo "\n\t + \"" . substr($output, $i, 512) . "\"";
echo ";\n";
?>
Data = "";
Dict = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
j = Code.length -3;
for (i = 0; i < j; i += 4)
Data += String.fromCharCode(((Dict.indexOf(Code.charAt(i )) << 2) | (Dict.indexOf(Code.charAt(i + 1)) >> 4)) & 0xff);
Data += String.fromCharCode(((Dict.indexOf(Code.charAt(i + 1)) << 4) | (Dict.indexOf(Code.charAt(i + 2)) >> 2)) & 0xff);
Data += String.fromCharCode(((Dict.indexOf(Code.charAt(i + 2)) << 6) | (Dict.indexOf(Code.charAt(i + 3)) )) & 0xff);
time_start = (new Date).valueOf()/1000;
document.write(Data);
time_elapsed = (new Date).valueOf()/1000 - time_start;
alert(time_elapsed);
</script>
部分 php,部分 JavaScript。 data.txt 是包含要分析的 html 的文件。 在 IE 和 FF 上测试。
【讨论】:
PS:它不会考虑加载链接资源所需的时间,例如外部 .CSS 文件或图像,除非您对它们使用 mod_expire。也许您也想挂接 document.body.onload,但结果也会因您的连接速度和延迟而异。【参考方案4】:我建议使用 YSlow。
它不仅测量页面中元素的性能时间,还分析您的页面设计,以建议您如何改进性能。 这是他们开发 Stack Overflow 时使用的工具之一。
Yahoo! YSlow
YSlow 分析网页并提出建议 提高他们绩效的方法 基于一套高规则 性能网页。 YSlow 是一个 Firefox 插件与 Firebug 网络开发工具。慢 根据三个之一对网页进行评分 预定义的规则集或用户定义的 规则集。它提供建议 提高页面的性能, 总结页面的组件, 显示有关页面的统计信息, 并提供性能工具 分析,包括 Smush.it™ 和 JSLint。
【讨论】:
如何使用 YSlow 查看页面上元素的性能时间?我试着找了,没找到……以上是关于测量渲染时间的工具的主要内容,如果未能解决你的问题,请参考以下文章
使用 Chrome DevTools 对 HTML5 图形进行渲染测量
测量在 Xcode 中渲染 UIView 的 CPU 使用率
ArcGIS微课1000例0017:ArcGIS测量距离和面积工具的巧妙使用