PageSpeed错误:无效的任务计时数据

问题描述 投票:4回答:1

我的网站使用以下优化来释放主线程并优化内容加载过程:

- Web workers for loading async data as well as images.
- Defer images until all the content on page is loaded first
- typekit webfontloader for optimized font load

自从我完全切换到网络工作人员处理所有与网络[异步]相关的任务以来,我注意到以下错误的发生率增加了[〜50%]:Error: Invalid task timing data

但是我的分数似乎没有受到影响。

PageSpeed score

我的问题是,该分数的准确性如何?

P.S:我的原始数据非常庞大,因此样式和渲染分别需要1300毫秒和1100毫秒。 [要求的约束]

performance performance-testing pagespeed google-pagespeed web-performance
1个回答
0
投票

[做过几次实验并浏览了LightHouse(为PSI提供动力的引擎)源代码后,我认为问题在于,一旦所有内容加载完毕(页面加载事件),Lighthouse会在终止之前仅运行几秒钟。 >

但是,您的JS随后运行了相当长的一段时间,因此服务工作者在一次页面加载后将近11秒执行一些任务(可能会存储一些图像,这些图像需要很长时间才能下载)。

我猜您会收到间歇性错误,因为有时CPU安静的时间足够长,无法计算JS执行时间,有时却不(取决于执行任务之间的时间长短。]]

[要查看我在Chrome上打开开发人员工具的意思->性能选项卡->将CPU速度减慢设置为4倍速度减慢(这是Lighthouse模拟的),然后按'record'(左上角)。现在重新加载页面,并在完全加载页面后停止记录。

您将获得性能配置文件,并且可以扩展“主”部分以查看主线程负载(尽管使用了worker,但仍需要使用该线程,因为它需要对base64编码的图像进行解码,不确定是否可以移到另一个线程上)

[您将在页面加载后看到任务继续使用CPU 3-4秒。

这是Lighthouse的一个错误,但同时它也可以解决您的问题,因为它是问题的征兆(为什么使用base64编码的图像?这就是您在性能上受到打击的原因,否则本来应该是经过优化的网站)。>

© www.soinside.com 2019 - 2024. All rights reserved.