改版之前,先问一句为什么慢
pg直营站电玩团队决定改版时,技术负责人程砚白做的第一件事不是画新界面,而是把旧版本的卡顿率拉了出来。数字不算难看,1.5%上下浮动,但用户反馈里“点进去要等一下”的声音一直没断。程砚白的判断是,问题不在页面本身,而在资源加载的顺序和时机。他把这次改版定义为一次架构复盘,而不是一次视觉升级。
这个定义一开始并不受欢迎。设计团队希望先看到新稿,运营团队希望先看到活动位,只有程砚白坚持先把首帧加载时长压到1.2秒以内再谈其他。他的理由很直接:电玩内容的入口如果第一帧就慢,后面做得再花哨也留不住人。pg直营站的电玩业务线最终同意了这个顺序,改版从一张加载时序图开始。
三条基线,把感觉变成数字
程砚白给团队定了三条不能退让的基线。第一条是首帧加载时长不超过1.2秒,第二条是卡顿率不超过1.5%,第三条是码率自适应命中率不低于96%。前两条好理解,第三条最容易被忽略,但它决定了弱网用户会不会在关键时刻掉链子。为了让这三条基线落地,他把改版拆成了三个可验证的阶段。
- 第一阶段只动资源加载:把非首屏资源延后,把关键资源前置,首帧加载从1.9秒降到1.15秒。
- 第二阶段只动渲染策略:减少不必要的重绘,卡顿率从1.5%降到0.9%。
- 第三阶段只动自适应逻辑:按真实网络分档,码率自适应命中率从91%提升到96.5%。
每个阶段结束后,pg直营站的电玩团队都会做一次小复盘,只回答一个问题:这一阶段动的东西,有没有让另外两条基线变差。程砚白说,架构复盘最怕的就是按下葫芦浮起瓢,所以三条基线必须一起看。
一次差点被忽略的端到端时延
改版推进到中段时,出现了一个小插曲。新版本的页面在测试机上表现很好,但端到端时延在部分网络环境下超过了800毫秒。问题出在一个看起来无关紧要的预加载逻辑上,它在弱网下反而抢占了关键请求的带宽。发现这个问题的是团队里一位年轻的前端工程师,他在复盘会上只说了一句话:我们一直在看平均值,没看分布。
这句话让程砚白调整了复盘方式,从只看平均值改成同时看分位数。pg直营站的电玩改版随后增加了一条规则:任何指标都要看尾部,不能只看中间。这个改动没有写进任何宣传材料,但它让月度可用性稳定在99.95%以上,也让团队对“快”这个字有了更具体的理解。
复盘的价值在于下一次更快
改版上线后,程砚白把整个过程整理成了一份架构复盘文档,里面没有华丽的设计说明,只有时序图、基线表和每个阶段的取舍理由。这份文档后来成为pg直营站行业方案里电玩团队改版的参考样本,因为它回答了一个很实际的问题:当体验、成本和稳定性冲突时,应该按什么顺序做决定。
对程砚白来说,架构复盘的意义不在于证明这次改版多成功,而在于让下一次改版少走弯路。首帧加载、端到端时延、卡顿率这些指标会随着业务变化,但“先定基线、再拆阶段、最后看分布”的方法可以一直用下去。这大概就是pg直营站愿意把真实场景公开出来的原因:可复用的从来不是某一版代码,而是一群人做决定的方式。
“我们一直在看平均值,没看分布”这句话扎心了,我们线上问题基本都是尾部引起的。
三个阶段只动一件事,这个做法太稳了,我们改版总想一口气全上,结果哪个指标都说不清。
从平均值到分位数,这个转变值得所有做性能的抄作业,尾部才是用户真实感受。
把改版定义成架构复盘而不是视觉升级,这个定位很关键,不然设计稿一改就没完没了。
码率自适应命中率96%这个基线很实在,弱网用户才是最容易流失的那批人。