小米17全面评测:性能与续航双突破
|
亲历现场。那天凌晨三点十七分,我蹲在小米科技园B座三楼外包工位上改完最后一行PowerHal的回调钩子,手抖着点编译——结果build失败日志里蹦出个没见过的vendor service timeout,不是我们代码的问题,是那版系统里小米自己把hal_service_wait_timeout从五秒砍到了八百毫秒,但没同步更新所有HAL层依赖项。 桌上机械键盘声特别响,啪嗒、啪嗒、啪嗒,我左手按着Ctrl+C中断gradle,右手摸出半包皱巴巴的绿箭,含着糖片嚼了十八秒才想起来这玩意儿根本压不住心口那股反酸。测试妹子小陈靠窗坐着,正用镊子夹着小米17样机往温箱里塞,她手腕上那块旧表带裂了条缝,指针停在两点四十三——其实已经快四点了,她没换电池,说“反正看时间不如看log里那个ANR堆栈起始行号准”。
产品概念图,仅供参考 我原以为改个vendor service retry逻辑就能过,结果烧进去三台真机、两个小时、两轮OTA热更之后才发现,问题根本不在这儿。真正卡死的是那个叫“优胜劣汰”的模块——它压根不是算法,就是一串硬编码的白名单+黑名单字符串比对,连正则都没用,全靠String.contains()暴力扫。小米17跑这个模块时,会在锁屏状态下偷偷唤醒GPU做一次无渲染的纹理采样,就为了校验当前显示驱动是不是“够新”,够新就放行,不够新就静默降频——但降频不是调CPU governor,是直接写/sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq成三百七十二MHz。这个数字我敢打包票,因为我在dump里扒过三次,每次都是三百七十二,连小数点后都一样,它不随温度变,不随负载变,就死守着这个数。楼下便利店的关东煮刚收摊,竹签子哗啦倒进铁桶的声音传上来,像打了个顿。我抬头看窗台,七八台小米17堆在铝合金窗框边,屏幕朝外晒着,背面贴着玻璃,摸上去烫手。这事儿本来不该晒——但那天空调检修,外包区通风口全堵着,测试机堆那儿纯属图个散热,谁想到玻璃吸热快,下午三点开始,几台机器的陀螺仪就开始漂移,Z轴偏差从±0.3度蹿到±2.1度,偏偏那天要测“性能与续航双突破”里的“动态功耗映射精度”,全靠这个Z轴数据打标。我让同事老张拿冰袋敷了一阵,他边敷边骂:“敷个屁,你猜它现在上报的陀螺仪温度是四十一还是四十二?它自己都不知道,报的还是上次冷启动时存的缓存值。” 而最离谱的是,这个“优胜劣汰”模块根本没配开关。厂商给的config.xml里写着“enable_淘汰机制=true”,可实际运行时,它只认一个叫“persist.sys.xiaomi.eliminate”的prop,而且必须是bootloader阶段就set的,system_server起来后再set,它当空气。我试过十六种办法,包括hook libc的__system_property_set,结果发现那版系统在zygote fork前就把property_read_fd锁死了,hook进去只看见一堆-1。最后是小米对接人王工,穿件洗得发白的深蓝POLO衫,中午十二点五十拎着两杯瑞幸冲进来,甩给我一个临时patch:改vendor_boot.img里一个叫elimsig的signature blob,重签,刷,重启,搞定。他说:“这个blob签名不对,系统启动时会自动回退到默认策略——也就是不淘汰。” 窗外洒水车又来了,水柱滋在梧桐叶上,噗嗤、噗嗤,节奏比刚才慢了两拍。我盯着IDE底部的Gradle进度条,37%,不动了。旁边老张突然笑出声:“你猜怎么着?我刚拆了台样机,发现‘优胜劣汰’的判定依据之一,居然是开机LOGO显示时长。LOGO少于一点二秒算‘快’,算合格;超过一点三秒直接触发降频——但这个‘一点二秒’,是硬写死在BootROM里的一段延时汇编,根本没法改。小米自己说‘双突破’,可突破完之后,用户拿它打《原神》,帧率稳在五十九点七,就是卡不死那个六十。” 测试妹子小陈把温箱门关上,转身拧开保温杯喝了一口,没盖盖儿,水汽蒸到镜片上。她说:“上个月红米K系列测同一套脚本,‘优胜劣汰’没起作用,因为它的BootROM版本太老,不认新signature blob。”我没接话。我只知道,明早九点评审会上,PPT第一页就得放“小米17全面评测:性能与续航双突破”,标题不能动,字体不能改,但底下那行小字注释——“注:优胜淘汰逻辑受设备出厂固件约束”——已经被PM删了三次,最后一次他说:“用户不关心出厂固件,他们只关心是不是‘双突破’。” 我其实到现在也说不准,那个三百七十二MHz,到底是故意设的,还是某个开发当年手抖敲错的。反正现在改不了。先刷个补丁包顶着吧,等下个月OTA推,顺便把温箱里的机器挪回恒温室——不然明天陀螺仪数据又废。对了,绿箭糖别含太久,舌头会麻。 (编辑:52刷机网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |

