华为nova 15 Ultra:影像续航双突破,定义新旗舰
|
产品概念图,仅供参考 亲历现场。那天凌晨三点十七分,华为nova 15 Ultra的系统包刚烧进去,我盯着Logcat里一串红字发愣——不是Crash,是根本没进SurfaceFlinger的VSync回调,连帧都没敢吐。测试妹子在隔壁工位啃关东煮,竹签戳进萝卜块的声音“嗒”得特别清脆,我抬头看见她右手腕上那块表还停在两点四十九,电池早没电了,她懒得换。我原以为是HAL层v4l2流控逻辑崩了,结果抓trace发现SensorDriver压根没触发AE锁相,再往前翻dmesg,最后一行写着“camerahal: skip power on: sensor_otp_read fail”,再前面三行空白。这个我敢打包票:OTP校准数据读出来全是0xFF,不是地址错,是eFuse物理熔断了。厂商对接人老张微信回得飞快:“这批次模组批次标错了,你改个ID走白名单就行”,我截图给他看read_efuse返回-110,他秒回一个“?”,二十分钟后撤回,再发:“你先按nova 13 Pro的OTP layout硬怼试试”。我真试了。改完编译,等签名的时候窗外洒水车经过,喷头嘶嘶响了十八秒,水雾糊了整扇玻璃,我用手机拍下来发群里,没人回。 楼下便利店关东煮收摊前最后三分钟,热汤还在咕嘟,我蹲在门口改OverlayResource的res/values-zh-rCN/strings.xml,就为把“智能感知引擎”改成“优胜劣汰模块”。不是UI文案要求,是SELinux policy里label不匹配——audit.log里全在报avc: denied { read } for path="/system/etc/oppo_opt/xxx",但路径明明是/system/etc/huawei_opt/,查源码发现build时用了oppo的product config当base,而华为那边没清干净旧的overlay预置。三百七十二行,手动删了两百零九处占位符,剩下一百六十三个留着,因为“怕动到红外遥控逻辑”。编译卡在dexpreopt阶段,机械键盘右下角空格键被我按得发烫,啪嗒啪嗒响,像坏掉的继电器。 测试机堆在窗台,下午两点太阳直射,五台nova 15 Ultra正面朝上,屏幕泛着油光,指纹识别区晒得微微发黏。其中一台突然亮屏弹出低电量警告——7%,可电池驱动日志显示SOC=91%,BMS上报电压3.87V,ADC采样值也正常。我拆开后盖摸电芯温度,36.2℃,比室温高两度,不算离谱。可这台偏偏就是跑不动GFXBench Aztec,帧率卡在13.7,其他四台都在28以上。我换了三套GPU governor策略,最后发现是thermal-throttling阈值被硬编码在/vendor/etc/thermal-engine.conf里,写死25℃触发热插拔,但那版系统没配对应sensor节点。这事我说不准,没敢跟老张提,怕他又让我“先临时降频跑通再说”。 老张昨天来办公室,拎着保温杯坐我对面,说“影像续航双突破”这话是营销定的死线,系统层只管把“优胜劣汰”四个字打透。我点头,转头把Camera HAL里那个叫“adaptive_frame_drop_policy”的flag从0x0003改成0x0001,删了两行exif埋点代码,加了一行LOGI("Dropping frame by natural selection")。编译完打包签名,等OTA推送镜像时,听见楼上传来砸键盘声,连续七下,中间隔了五秒喘息,然后是椅子拖地的锐响。我没抬头,手没停,把config_enable_super_resolution设成false——因为实测它让前置自拍在暗光下优先裁切掉用户左耳,AI判断那是“冗余结构”。 有次我拿nova 15 Ultra跑老版本EMUI的CTS,发现android.hardware.camera2.cts.CaptureRequestTest.testTemplatePreview里的getCaptureResult()直接超时,重试三次,log里只有“[CQ] waiting for result: timeout”。查了三小时,最后发现是CameraProvider进程在启动时读取/system/vendor/etc/camera/camera_config.xml时,对标签解析崩溃,但崩溃没打印stack,只留下一条“vendor: cam_config_load done”。外包同事小陈当场掏出手机录屏,声音抖得厉害:“你听这咔哒声……是不是我键盘轴体碎了?”我没理他,继续看dmesg。结果发现不是camera,是AudioFlinger在加载vendor.soundfx.xml时碰到同一个XML解析器——同一个bug,两个模块撞一起,互相屏蔽日志。这个我敢打包票:XMLParser.cpp第412行,switch case缺default分支,遇到不认识的tag直接return -EINVAL,啥也不说。 今早七点,我收到测试妹子邮件,附件是127个fail的CTS报告,标题写着“除Camera和Power相关外,其余Pass率100%”。我在回复框打了三行字:“OK。把BatteryStatsService里mLastWriteTime重置逻辑注释掉,改用RTC唤醒时间对齐。另外,通知栏快捷开关图标大小在横屏时多渲染了半像素,截个图我看看。”删了。又打:“你冰箱里还有关东煮汤底吗?我下午带卤蛋过去。”删了。最后发了个句号。 现在我把那台晒烫的nova 15 Ultra扣在桌面,屏幕朝下,静音模式,不充电动作。等它自己掉到3%自动关机。我要看看那个“优胜劣汰”模块,在彻底断电前最后三秒,到底淘汰谁。 (编辑:52刷机网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |

