如何分析/减少 html 页面呈现时间?
How do I profile / reduce html page rendering time?
我正在 chrome 工作以缩短页面加载时间。
我正在尝试确定内容下载完成与 onload 事件触发之间出现延迟的原因。您可以从图像中看到内容在大约 160 毫秒时完成下载,但加载事件直到大约 600 毫秒才触发。
我的问题是,我如何识别和分解需要 450 毫秒才能发生的事情?是否可以在此处改善加载时间,或者这只是 rendering/painting 过程中不可避免的一部分?
更新#1
问题解决了,罪魁祸首主要是jQuery;页面现在正在加载 300 毫秒部分。我决定推迟加载 jQuery(以及所有其他站点脚本,直到 window.onload 事件触发之后。这缩小了差距,现在所有页面脚本都在 onload 发生后加载。
这是显示脚本加载的时间轴视图:
Chrome 开发工具,你有时间轴选项卡,按记录,刷新页面并停止记录你会得到你需要的一切。
还要确保选中您感兴趣的复选框。文档 here
我测试了其他一些页面,它们与您的页面有类似的差距,我认为这是绘画和渲染时间。
如果您真的那么关心那 450 毫秒,我建议您阅读 this article 了解 chrome 呈现 DOM 的方式,它非常好。
不过我个人的看法是,如果您不打算渲染几千或几万个元素,这听起来像是过早的优化,您应该顺其自然或尝试优化其他部分,最好是 JavaScript.
还是建议看看这篇文章还是不错的。
我正在 chrome 工作以缩短页面加载时间。
我正在尝试确定内容下载完成与 onload 事件触发之间出现延迟的原因。您可以从图像中看到内容在大约 160 毫秒时完成下载,但加载事件直到大约 600 毫秒才触发。
我的问题是,我如何识别和分解需要 450 毫秒才能发生的事情?是否可以在此处改善加载时间,或者这只是 rendering/painting 过程中不可避免的一部分?
更新#1
问题解决了,罪魁祸首主要是jQuery;页面现在正在加载 300 毫秒部分。我决定推迟加载 jQuery(以及所有其他站点脚本,直到 window.onload 事件触发之后。这缩小了差距,现在所有页面脚本都在 onload 发生后加载。
这是显示脚本加载的时间轴视图:
Chrome 开发工具,你有时间轴选项卡,按记录,刷新页面并停止记录你会得到你需要的一切。
还要确保选中您感兴趣的复选框。文档 here
我测试了其他一些页面,它们与您的页面有类似的差距,我认为这是绘画和渲染时间。
如果您真的那么关心那 450 毫秒,我建议您阅读 this article 了解 chrome 呈现 DOM 的方式,它非常好。
不过我个人的看法是,如果您不打算渲染几千或几万个元素,这听起来像是过早的优化,您应该顺其自然或尝试优化其他部分,最好是 JavaScript.
还是建议看看这篇文章还是不错的。