真我13上手实测:性能影像双飞跃,玩家直呼过瘾!
|
亲历现场。那会儿真我13的OTA包凌晨三点压进测试通道,我盯着编译窗口卡在“dexing phase 2/3”不动,窗外洒水车又来了,水柱滋啦滋啦打在空调外机上,像有人拿指甲刮黑板——这声音每周二周四固定六点二十开始,雷打不动,连节奏都没变过。 我原以为是gradle daemon挂了,kill -9 了三遍,重启AS,清掉~/.gradle/caches/8.0,重装NDK,最后发现就因为build.gradle里多写了个空格,空格在abiFilters后面、右括号前面,编译器硬是等了十八秒才报错。真就一空格。我敢打包票,你把那个空格复制进任何一台真我13开发机的demo项目里,它照样卡住,不是偶现,是必现。那个空格,它认机型。
产品概念图,仅供参考 桌上的机械键盘声没停过。老张在隔壁工位敲F4刷ADB日志,他左手小指翘着,按Shift太用力,咔哒声比键盘本身还响;测试妹子小林蹲窗台调灰度开关,手里三台真我13堆在铝合金窗沿上,屏幕朝外晒着,边框烫得能煎蛋,她后颈汗珠滴到Type-C口旁边,没擦,说“等下要测快充温控”。没人管那个汗珠子,但所有人盯着她手指悬在‘enable’按钮上那一秒——那版系统里,这个按钮按下去,摄像头服务就得重启两次才能出图。 “性能影像双飞跃”?哈。飞哪去了?我抓log的时候看到HAL层有俩线程抢同一个vibrator fd,抢赢的那位顺手把AF马达控制权也劫走了,结果录4K60时突然抖三帧,再抖三帧,第十一秒准抖。这个我敢打包票。可我说不准为什么同一套vendor blob,在realme UI 13.2上跑得好好的,到了13.3里只要打开HDR10+播放器,MediaCodec就吐一个SIGBUS,地址0x7a00000000——这个我说不准,查了三天,最后是厂商对接人老陈在食堂打饭时甩给我一句话:“你们init.rc里多load了vendor.qti.hardware.display.config@2.0.so,它跟display hal新loader对不上眼。”就这一句,没上下文,没文档,没commit hash。他舀汤的手还在抖。 楼下便利店的关东煮又换汤底了,今天是八角味,混着孜然,飘上来的时候我正拆system_ext.img。拆到一半发现/data/misc/display下的gamma_table.bin少了一千二百零七字节,校验和对不上。查了补丁包,没改它。问老陈,他说“噢,那是预烧写的,出厂就那样”。我问那OTA升级为什么不覆盖?他扒拉手机壳边缘的胶条,“你看这缝隙,去年修过三次,每次都是同一个焊点虚焊——有些东西啊,修一次,就离崩溃近一点。”他没看我,眼睛盯着自己拇指盖里那点黑渍,像在看某种接口定义。 优胜劣汰?对。真的。但不是人淘汰代码,是代码先把你筛出去。上周五下班前,外包同事阿哲交了一版状态栏电池图标适配,图标动效正常,电量数字跳变也稳,可只要用户在设置里开“深色模式跟随日落”,系统就漏掉一次binder transaction,导致StatusBarManagerService缓存里的mBatteryLevel字段永远停在67%。这个bug在真我13上必现,在X50上不触发,在GT5上只在阴天触发。我们跑了七百一十三次日落模拟,全靠adb shell dumpsys batteryproperties -s sun_time 造假参数。阿哲后来辞职去做了网约车司机,走之前把IDE配置导出给我,里面所有插件都禁用,除了一个:AutoSaveOnBuild。他说“别的都救不了命,就这个能保命”。 我昨天又试了一遍。在真我13工程机上切到dev build,把/system_ext/lib64/libqti-perf.so替换成旧版,开相机,录30秒,然后立刻锁屏。锁屏第三秒,闪光灯闪一下。不是预览闪,是主摄模组里的LED灯——纯硬件行为,没走HAL,没发intent,没touch sensor,就它自己亮了一下。这个我敢打包票。老陈说“那是保护机制”,小林说“可能是热敏电阻抖动”,阿哲说“你再试一遍,我赌五块钱它只在你老婆微信发语音时闪”。我没试,我把那台机器借给了隔壁做AI降噪的兄弟,他用来跑VAD模型训练数据采集——反正闪一下又不掉帧。 现在编译通过了。但CI那边又报了个新的failed test:TestCameraCaptureSessionClosedOnReboot。我点开log,最后一行写着“E CameraProvider: failed to open camera device /dev/video0: No such file or directory”,可设备树里video0明明存在。我翻了三百七十二行dmesg,全是同一句:“qcom-camss 1b00000.camss: camss reset done”。reset done。done。done。done。done。done……像一行省略号打穿了整个内核日志。我盯着它看了四分钟。后来去楼下买了份关东煮,萝卜块煮散了,汤面浮着一层油花,晃得像传感器坏点。 算了。先把OTA包签了,签名密钥放/home/build/key/release.pk8,别用临时密钥。签完直接推,别测回滚,那版系统回滚逻辑里有个memcpy越界,会把persist分区里的wlan_mac.bin头两位干成0x0000,下次开机WiFi MAC就变成00:00:00:00:00:00。这个我说不准是不是设计如此,但我知道怎么绕:push前先adb shell "echo -ne '\\x02\\x00' > /dev/block/bootdevice/by-name/persist"。就这么干。反正明天上午十点前上线,现在是凌晨四点十七分,我打算去睡两小时。你要是也碰到这事儿,记得把机械键盘静音键摁下去——不是怕吵,是怕听不清自己心跳漏拍的节奏。 (编辑:52刷机网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |

