真我15 Pro深度评测:手游利器,性能炸裂!
|
亲历现场。那版系统提测前四十八小时,我蹲在真我15 Pro工程机堆里扒帧率曲线,测试妹子把三台机子叠在窗台晒——她说是“让SOC自然回温”,结果下午两点十七分,最上头那台屏幕突然泛黄,像隔夜茶水泼了上去。我伸手摸,烫得缩回来,她头也不抬:“嗯,这台跑满载发热是偏高,但不影响稳定性。”我盯着那抹黄看了十八秒,没动。后来发现是AMOLED驱动IC温漂触发了校准冗余逻辑,不是bug,是那版系统默认开了三级色温补偿——你猜怎么着?出厂固件关着,OTA包里又偷偷开了。 我原以为只要禁用ColorManagerService就能绕过去,结果编译卡在aapt2那步,等了三百七十二秒。窗外洒水车准时经过,哗啦——哗啦——,水柱打在楼外梧桐叶上噼啪响,节奏比我键盘敲击还稳。我左手边机械键盘青轴,按Ctrl+F5时第三颗D键弹簧发出异响,咔、嗒、松。右手边便利店塑料袋搁桌上,关东煮竹签戳穿袋子底,汤水洇开一片暗红油渍,我懒得换地方,就那么摊着。 跟人吵架。昨天下午三点,厂商对接人老陈视频挂我工位屏上,镜头歪斜,他衬衫第三颗扣子崩了,露出点灰T恤边。我说“GPU负载突降那两帧得补trace”,他直接切屏扔来个Excel,标红三列:“竞品帧率抖动容忍阈值/实测值/你们包的偏差”。我没看表头,扫一眼数字——全错。不是算错,是他们拿GT4100跑《原神》须弥城跑图的数据,当成了真我15 Pro的参考基线。我张嘴想说“GT4100是前年方案,驱动树都不在一个分支”,他手指敲桌,咚咚咚,打断我:“你先调平它。”我说:“平不了,调度器根本没读到那个sensor信号。”他点头:“那就加fake sensor。”我愣住。他补了句:“上周OPPO项目也这么干的。”我手边那杯冷掉的茉莉花茶还没动,茶叶沉底,蜷成小团。 碎东西拼起来。那版系统里有个叫“GameBoostLite”的模块,名字起得跟健身App似的。我查源码发现它其实只干三件事:1. 强制锁GPU频率在827MHz;2. 把thermal throttle阈值往上提十五度;3. 在SurfaceFlinger里偷偷丢一帧。就这仨动作,硬被拆成六个接口、七个状态机、十一个埋点日志——其中三个log永远打不出来,因为条件判断里漏了SELinux avc denials的兜底分支。测试妹子昨天跑完压测,指着logcat问我:“为什么‘GBOOST_LITE_STATUS’打了八百一十三次,最后一条却是‘NULL_REASON’?”我说:“我敢打包票,那个NULL_REASON是初始化失败后空指针强转的默认字符串,但我不确定是DriverAdapter还是FrameworkLayer哪一层崩的。”她说:“哦,那这个算不进KPI。” 楼下便利店的关东煮汤又换了口味,今天是昆布鲣鱼,味噌浮沫比昨天厚,热气顶着玻璃门缝往楼道里钻。我闻着味儿想起前年做vivo某款游戏机时,也是这种味儿混着焊锡味,当时为修一个surface销毁后重建的撕裂闪屏,连续改了四遍HAL层回调顺序,最后发现是DisplayManagerService里一行注释没删干净:“// TEMP: disable sync for perf”——TEMP留了两年,没人动。真我15 Pro这台,我刚在Logcat里搜到同一行,位置不同,但注释一样。连缩进都是四个空格,不是tab。 反常识结论。它性能炸裂?对。但炸的是散热模组不是SOC。优胜劣汰的意思不是芯片多强,是那版系统会主动杀死后台里所有用MediaCodec.createByCodecName(“OMX.qcom.”)建解码器的进程,哪怕你是微信语音——它不管是不是前台应用,只要匹配qcom开头就kill -9。我们包里一个第三方播放SDK因此闪退,排查三天,定位到system_server里有个隐藏策略开关叫“codec_priority_policy”,值设为2,对应文档里写“strict legacy filter”。我问老陈这是谁写的,他说“不知道,交接文档没这行”。我翻Git log,提交人是“android-build-04”,邮箱域是@realme.internal,时间戳是凌晨两点零七分,提交信息只有一句话:“tweak codec cleanup”。再往前,就是空的。
产品概念图,仅供参考 无所谓。今天早上编译出包,烧进去跑第一轮《崩铁》前瞻测试,第十八分钟,左肩键微动延迟从九毫秒跳到三十二,持续六帧。我把log抓出来,发现不是InputReader的问题,是那版系统的touchscreen HAL里加了个新路径:当检测到持续触控+GPU负载>92%时,会强制切换到“低精度采样模式”。但切换阈值的判定用了system time而非uptime,导致长时间待机后第一次唤醒就误触发。我改了阈值算法,编译重跑,等待时盯着桌上的机械键盘——D键青轴弹簧又响了一次,咔。测试妹子发来消息:“下一台机子充电IC温升异常,要不你顺手看看?”我说:“看不了,我在等adb logcat -b events,它卡在event_log_reader.cpp的futex_wait。”她回了个OK表情,后面跟句:“对了,那台晒窗台的机器,屏幕黄得更匀了。”我删掉那行“// TEMP: disable sync for perf”,重编。但不敢提PR——去年提过一次类似clean,被驳回理由是“影响现有合作方SDK兼容性”。所以这次我打算先手动patch烧机,跑通再说。反正Deadline还有二十六小时,够我重刷三遍分区、撞两次recovery、再对着log里一百四十二个W/Adreno-GSL的warning骂一句“妈的”。 (编辑:52刷机网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |

