iPhone Air最新爆料:创新优化技术带来性能飞跃
|
亲历现场。那版系统提测前四十八小时,我蹲在OPPO松山湖园区B3栋四楼玻璃房里改SurfaceFlinger的layer composition fallback逻辑,手边泡着第三包过期三年的康师傅红烧牛肉面——汤都分层了,油花浮在上面像块薄锡箔。窗外洒水车又来了,下午三点零七分,哗啦啦一长串,水柱斜着砸在幕墙玻璃上,流下来的时候歪成S形。我盯着那道水痕,突然想起测试妹子昨天发来的日志截图:GPU提交超时发生在renderStage=2之后、但before commitToHWC之前——她圈出的那行timestamp,和洒水车声重叠了十七秒。
产品概念图,仅供参考 我原以为是HWC HAL层缓存刷新抖动,结果抓log发现根本没进hal,卡在BufferQueueConsumer::acquireBuffer的mutex lock里。这个我敢打包票,因为我在三台不同批次的Find X6 Pro上复现了——一台用的是深圳厂流水线最后一批封测机(屏下指纹识别区有轻微偏色),一台是东莞仓调过来的工程样机(USB-C口塑料盖板翘了三毫米),还有一台…算了,那台我记不清序列号了,这个我说不准。但三台都报同一个errno=EAGAIN,且只在启用了“智能触控预测”开关后触发。可那个开关明明关了,测试妹子说她亲手点的,我信她,她去年帮我们抓过ColorOS 13.2那个surface leak,连dumpsys meminfo里的native heap fragmentation rate都手动画了折线图。 桌上的机械键盘声突然变密,咔嗒咔嗒,是我旁边外包同事在狂按Ctrl+S——他正给一个system_server crash的trace加注释,每敲三行就暂停两秒,看一眼手机,再低头。他手机屏保是《甄嬛传》剪辑合集,这我确定。楼下便利店的关东煮今天飘上来的是萝卜味,不是昨天的海带结——气味不一样,炖得更烂,汤里浮着几粒八角。我吸了口气,又吐出来,手指还在敲键盘,删掉刚写的if (mHasPredictiveTouch) return false; 这行,重写成 try { acquireBuffer(...) } catch (Exception ignored) { forceSkipPrediction(); }。你敢信?强制跳过预测模块,居然不闪屏了。不是修复,是阉割。优胜劣汰?对,就是字面意思:活下来的不是最稳的,是砍得最干净的。 测试机堆在窗台晒到发烫。六台,全开息屏唤醒压力测试,屏幕朝外,背面贴着铝合金窗框。最左边那台背壳有点翘,电池盖缝隙能塞进一张SIM卡。它温度最高,四十度三,红外测温枪嘀了一声,我没理。右边第二台在跑GFXBench,ASV3里car chase场景卡在第七帧,帧间隔抖动从八十二毫秒飙到四百七十二,但它没报错,就那么挂着,像睡着了。而第三台——就是那台序列号尾数5097的,早上十一点五十分开始黑屏十秒,循环,每次都在VSYNC pulse第13个周期后,我们拉了三次ftrace都没抓到irq handler入口。后来发现是TP驱动里一个static int g_debug_mode = 0; 被某次merge conflict误改成1,打印语句塞进了中断上下文。现在修好了。可修好的代价是,所有触控延迟加权平均高了三点六毫秒——没人测这个,但我知道,因为上周我在vivo那边看到过同样数字:他们砍掉了单点触控双采样校验,也是为保稳定。不编数字,就三点六,手写的,笔迹在草稿纸上糊了。 厂商对接人老周中午来了一趟,拎着两个饭盒,一个是宫保鸡丁,另一个是清炒豆芽,说豆芽是给我的,“清淡点,肝火别旺”。他扒拉两口鸡丁,筷子尖戳着饭盒边缘说话:“Air那个爆料你们看了没?‘创新优化技术’——呵,我们内部代号叫‘呼吸灯算法’,就让CPU在idle时假装喘气,省电模式下频率曲线画得跟心电图似的。”他说完把饭盒盖扣上,塑料卡扣啪一声。我没接话。他走后我打开手机,搜到那条标题:“iPhone Air最新爆料:创新优化技术带来性能飞跃”。我盯着“优胜劣汰”四个字看了十八秒。不是分析,是盯着。就像盯着窗台上那台发烫的测试机,它背面贴着窗框的地方,漆皮被烤出了细纹,弯弯曲曲,像地图上没标注的小河。 后来我下楼买了瓶冰可乐,瓶子外面全是水珠,滴在我左手虎口的旧烫伤疤上,刺了一下。便利店小哥扫完码问:“又赶工?”我说嗯。他递来纸巾,顺手把收银台边那盒薄荷糖推过来,“含一颗,提神。”我没拿糖,但记得他指甲缝里有蓝墨水,像是刚签过什么保密协议。回楼上时电梯停在七楼,门开了,没人进来,但风从缝隙钻进来,带着楼顶水箱的味道。我把可乐放在窗台,水珠混着测试机壳上的灰,淌成一道淡褐色细线。 反正今天改不完。我现在去把BufferQueueConsumer那块代码打个tag,叫fallback_20240612_nosleep。明天上午九点前,把patch发给测试妹子,让她先跑一遍MTBF,别管触控精度,只看crash rate降没降。要是还飘,我就得去找老周要TP driver源码——不是要,是蹲在他工位旁等他改完自己那份release note,趁他起身倒水时伸手要git仓库地址。这事我干过两次,一次成功,一次他锁了屏幕,密码输到一半突然说:“你等等”,然后掏钥匙开了旁边档案柜,抽出个牛皮纸袋,里面全是打印的旧bug report,纸边都卷了。 (编辑:52刷机网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |

