iPhone 17 Pro Max深度解析:性能巅峰来了!
|
那天封版前四十八小时,我盯着那个大版本最后一批log滚屏,咖啡第三杯凉透了,杯子沿上还沾着半圈没涮干净的奶渍——组长蹲我工位边沿,手指头在键盘上敲出三下闷响,不是敲enter,是敲空格,一下、两下、三下,像在测触控延迟。 我原以为只是热区抖动阈值偏高,结果复现步骤刚写到第二行,开发小陈拎着耳机线就冲进来,耳塞还挂着左耳,右耳光溜溜的,说“你们跑的是那个大版本的RC3还是RC4?”,我还没张嘴,他后脑勺已经撞上隔板贴的便利贴,哗啦一响,掉下来三张——一张印着“电池健康度校准待验证”,一张是手写的“XPU调度优先级别动”,第三张没字,只画了个歪斜的箭头,箭头尖儿正戳着我显示器右下角的时间:03:17。 优胜劣汰?呵。这词是产品经理昨天晨会念的,念完顺手把iPad翻过来,屏保是他闺女用AR画的兔子,耳朵还在眨。我就没敢问——那兔子眨的是左耳还是右耳。但我知道,上一版里,锁屏状态下后台Audio Session没释放干净,导致VoLTE通话中突然切到Siri语音助理,切进去之后再不退出,连按三下侧键都唤不出紧急呼叫界面。这个我敢打包票,我们组五个人,在十七台不同批次的工程机上各跑三轮,全中。可没人改。为什么?因为“影响面有限”。影响面有限?三百七十二台OTA回滚设备日志里,有二百零六台在触发那一刻正开着健康App实时心率监测。
外观展示图,仅供参考 桌角那三杯咖啡,第一杯我喝了一口就搁那儿了,第二杯是热的,我拿起来又放下了,第三杯我压根没碰,杯底结了层薄膜,反光里能看见天花板灯管闪——不是整排闪,就第三根,隔十九秒闪一下,闪得特别钝,像快没电的手电筒。它闪的时候,我的鼠标刚好移过进程树里的com.apple.mobilesafari,然后Safari进程就自己detach了一次WebKit子进程,没崩溃,没告警,就是detached。Detach完它自己又re-attach了,Attach得还挺利索。这事我跟开发提过两次,他记在便签上,后来那便签被贴在测试间门口的消防栓箱盖上,风一吹就翘边,现在只剩胶痕。 凌晨一点十七分,我打车回家,司机师傅单曲循环《杨家将》评书,播到金沙滩双龙会,潘仁美正把杨继业往死里坑。我耳机里还塞着刚才录的音频trace,一边听评书一边听system log里那一长串kern.debug——全是同一个thread ID反复alloc/free同一个buffer,像有人攥着内存地址来回甩。我说不清这算不算内存抖动,我说不准。但我知道,同一时间点,隔壁组的安卓机在跑同样的负载模型,它们kernel里根本没有这段trace。不是没打log,是根本没走到那条分支。就像杨六郎没去金沙滩,他压根不知道潘仁美在哪。 最绝的是那个“性能巅峰来了”的推送文案。他们凌晨两点在企业微信推的,推完十分钟后,我在testflight新装包里看到个隐藏开关:forceEnableDynamicThermalMitigation,关着的。我把它打开,跑满载游戏十五分钟,机身温度比上一版降了大概……嗯,半度不到。但帧率稳了——不是更流畅,是卡得更规律了。一秒卡三帧,不多不少,像钟表。我截图发群里,组长回了个“”,开发回了个“?”加一个“[已知]”,产品经理没回,她头像灰着,状态写着“飞行模式”。后来我查了,她那会儿真在飞,广州飞西安,航班号CZ3892,起飞时间23:55。这个我能查到,但我查不到她是不是也在看推送文案里那句“优胜劣汰”。 测试间灯管又闪了一下。我数了,今天是第三百一十九次。我数是因为它闪得不对劲——不是频闪,是每次闪完,系统时间戳跳半毫秒。跳得特别小,只有log里sysctl kern.boottime能抓到。我截过图,但没人要。组长说“你留着吧,万一哪天有用”。我说不清有没有用。我只知道,上次它这么闪,是上一版封版前三小时,我们漏掉了GPU上下文切换时cache invalidation未同步的case,那台机器后来在用户手里跑了八个月,直到换电池才发现,每次充电到92%就开始降频——不是电池老化,是thermal策略里有个分支,靠boottime做种子生成随机数,而boottime每次被灯管干扰,都会偏移半毫秒。 我现在盯着那杯没喝的咖啡,杯底薄膜裂开一道缝,像屏幕碎了。我该去把那个forceEnableDynamicThermalMitigation开关再关回去吗?或者,干脆现在就提个hotfix patch,哪怕只加一行注释:“此处不适用优胜劣汰,请手动屏蔽”。但我得先问问开发,他今天换的耳塞,是不是左耳也挂上了。 (编辑:171手机网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |

