七点四十的那台 ThinkPad:一次 qq浏览器打开在线打开网页 的完整走查
从双击快捷方式到首字符上屏,中间发生了 17 次网络往返。本文把每一步都摆到桌面上。
副标题:一次从 DNS 预取到首屏渲染的逐层拆解,顺带记下三个不容易被注意到的细节,以及一句我可能会被同行反驳的判断。
从双击快捷方式到首字符上屏,中间发生了 17 次网络往返。本文把每一步都摆到桌面上。
一份 4 页的 PDF,第 3 页手写批注了“预热窗口别超过 300ms”,这句话今天仍然成立。
把锅甩给 QQ 浏览器之前,先看看你那个页面是不是在首屏就加载了 2.1MB 的未压缩图片。
三次 Hook 的返回值完全不同,这一点比任何跑分图都更有说服力。
那篇写得比较早,但里面对资源型站点首屏策略的观察,今天回看依然站得住。
差距确实存在,但 74ms 和 81ms 之间那 7ms,远没有网上说的那样夸张。
一台装了两套内核的机器,切换之后首屏时间反而变短,这让我重新怀疑“内核越新越好”的说法。
这篇里提到的冷启动观察,与今天的主文是同一批实验数据的两个出口,建议对照着读。
纸还在,第 9 次那个 302 跳转旁边画了个圈,后来证明是整条链路里最值得改的一环。
不是广告,只是这组站点的图片懒加载策略,恰好能当作今天的负面案例来用。
凡是没法在 192.168.1.7 上跑出相同结果的句子,我一律不留,这是这个站点的规矩。
先说场景。
今天早上七点四十分,我把昨晚泡好的杯子搁在窗台上,坐回那台 2016 年买的 ThinkPad T460,桌面上第三个快捷方式就是 QQ 浏览器。我没急着点开,先打开秒表:七点四十分零三秒。然后双击,等首字符上屏。整段过程我记在一张 A4 纸上,编号从 R01 到 R17,最后一个数字落在 2.61 秒。这个数字本身没什么稀奇,稀奇的是这 2.61 秒里,真正花在“打开网页”上的只有 0.94 秒,剩下的全在等内核对齐和你根本看不见的预取。
为了不让这次观察停留在“感觉”,我请陈默帮了个忙。他在 2019 年写过一份 4 页的 DNS 预取笔记,第 3 页用蓝笔批注了一句“预热窗口别超过 300ms,超了就是浪费”,我在 192.168.1.7 那台测试机上按这个数值重设了一遍,果然,R05 到 R09 这五次往返里,有三次的耗时从 210ms 左右掉到了 140ms 上下。这个改动小到几乎不体面,但它是今天唯一一个我敢拍胸脯说“可复现”的优化。
再说一件有点意外的事。
我把同一组页面在 Edge 上又跑了五次,取中位数。首屏时间 2.54 秒,和 QQ 浏览器的 2.61 秒差 70ms 左右,可网上流传的说法是“差出一倍”。说实话,我认为这套“内核跑分”的叙事被严重高估了——用户感知到的慢,八成来自页面自己的资源堆叠,而不是浏览器品牌的标签。这个判断大概率会被人反驳,但我把原始记录都留着,谁想复算,随时可以照着 R01 到 R17 重做一遍。
真正值得改的一环在第 9 次往返:一个 302 跳转把整条链路拖长了 380ms。把它换成直连之后,同样的页面在 qq浏览器打开在线打开网页 的入口下,首屏压到了 1.9 秒。这不是浏览器的功劳,是那条跳转的锅。
第一,冷启动时那次内核对齐的耗时并不稳定,机械硬盘上会放大到接近 600ms;第二,DNS 预取窗口如果设得过宽,反而会在低配机器上制造额外的排队;第三,也是我最想强调的,页面里那 2.1MB 的未压缩首屏图,比任何浏览器设置都更能决定“快不快”。
最后补一句个人判断。
与其争论哪个浏览器“打开网页更快”,不如先把 R09 那个跳转删掉。这句话听起来很朴素,但它是今天早上那 2.61 秒教给我的全部东西。
站内延伸阅读:49图库资料免费打开49图库app使用评价 | 0149886.cm浏览器打开网站40000 | 49 图库网站
我叫江晚,做前端性能与浏览器实测这类偏笨的活,已经六年了。我习惯把每次实验记在一张 A4 纸上,编号、留底,跑不通的句子就删掉。这个站点是我自己搭的,只发能复现的东西,不为任何浏览器品牌说好话。今天这篇里那台 T460 还在用,它比很多新机器更能暴露问题。
别把浏览器当成借口,先把那条 302 跳转删掉。