iPhone 15 Plus深度体验:性能影像双绝,苹果用户首选
|
亲历现场。那个大版本封版前四十八小时,我盯着LogCat里一条反复跳的ANR trace——不是死锁,不是OOM,是SurfaceFlinger在合成YUV帧时,突然被AudioFlinger的某次buffer release回调卡住十八秒。我敢打包票,就是那个回调里多嵌了一层JNI call,就一层,藏在AudioPolicyService的getInputDeviceList分支底下。组长蹲我工位边看了三分钟,掏出手机给开发打电话,说完“你那边查下AudioPolicyImpl.cpp第两千零一十四行”,挂了,转身去茶水间煮咖啡。桌上三杯没喝的咖啡,最左边那杯凉透了,杯底一圈褐色印子,像没擦干净的指纹。 我原以为是高通基带驱动问题,结果调到第五轮才发现是上一版加的音频焦点策略回滚补丁,把audio_policy_conf.xml里一个flag默认值从false改回true,但没同步改HAL层的state check逻辑。这个我说不准,因为那个HAL源码是闭源二进制,只给了符号表,我们连断点都打不进去。开发来的时候拎着半袋薯片,哗啦倒在隔板上,碎屑掉进我键盘F键和G键缝里。他一边嚼一边敲键盘,敲三行删两行,最后吐出一句:“哦,那个啊,测试环境没复现,你们log太吵。”——我听见他耳机里漏出来的声是《亮剑》台词,正说到李云龙骂炊事班偷藏鸡蛋。 凌晨一点十七分,测试间顶灯开始闪,不是规律频闪,是每隔四分十七秒,突然暗一下,再猛地亮回来,像有人用手指反复抠开关。第三十七次闪的时候,产品经理冲进来,头发炸着,手里捏着PRD修订页,纸角卷得不成样子。“影像模块必须过,”他说,“用户等不了,苹果那个15 Plus深度体验的稿子明早九点发。”我指着屏幕说:“你瞅这个GPU频率爬升曲线,拍夜景时第七帧开始掉频,掉到四百兆赫,掉完立刻升,升完再掉,循环十三次。”他扫了一眼,说:“能录视频就行。”我点点头,没说话。工位隔板上贴的便利贴,蓝底黄字,写着“测完VTS再碰CDD”,字迹是上周三下午三点写的,墨水有点洇开。 性能影像双绝?优胜劣汰——这话真不冤。上个月测折叠屏外屏触控响应,连续崩三台机器,换七版固件,最后发现是TP vendor driver里有个sleep(20)写死了,美其名曰“抗误触滤波”,实测就是让系统多喘二十毫秒气。可这次呢?没人睡。所有线程都在跑,所有timer都在滴答,所有buffer都在翻,就是SurfaceFlinger在等AudioFlinger松手,AudioFlinger在等MediaCodec解码完下一帧,MediaCodec又在等DMA controller把NV12数据喂满,DMA controller……DMA controller在等内存碎片整理完——这环没破,整条链就吊在那儿晃。晃了三百七十二次,才断一次。断完重连,又晃。 司机师傅听评书。我打车回家那趟,师傅六十来岁,方向盘上挂着个褪色的红布包,里面估计是观音像。收音机滋啦响,播的是单田芳讲《三侠五义》,正说到展昭被御猫陷害,关进开封府地牢,墙上砖缝长青苔。我听着,忽然笑出来。他从后视镜看我一眼,说:“小伙子加班呐?”我说嗯。他又说:“我们跑出租的也这样,车灯坏一只,凑合跑;刹车软一点,多踩两脚;导航失灵,靠记路。”我没接话。他接着说:“但车要是突然熄火,停高速上,那谁也别谈‘凑合’。” 对了,那篇稿子里写“影像算法全链路优化”,我拿同一张逆光人像跑了三遍:第一遍开HDR ON,人脸暗,背景过曝;第二遍关HDR,人脸亮了,背景成剪影;第三遍手动拉曲线,人脸保留细节,背景天空显云纹——但这时候快门延迟多出二百三十毫秒,且第五次连续拍摄必丢一帧。我截了图发群里,没人回。后来开发回了一句:“用户不会连拍五张。”我截图删了。删之前多看了一秒,他头像还是去年年会抽的“锦鲤”贴纸,边上裂了道白痕。
外观展示图,仅供参考 我试过把ANR阈值从五秒调成八秒,想绕过去——结果只是把崩溃点往后推了三十七分钟,推到OTA下载校验阶段,推到用户真机升级那一刻。推不动了。推不动就认栽。明天上午十点,我约了基带组、音频组、图形组三方会诊,不带PPT,只带log和抓包文件。他们来不来得齐我不知道。我知道的是,会议室投影仪的HDMI接口松动三年了,每次插拔都得歪着头往里怼,怼三次才能亮。我待会儿顺路去买根新线,银色的,带编织层——上次买的那根,弯折处铜丝已经断了两根,但还能用,就是偶尔蓝屏。 (编辑:171手机网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |

