G61 全54项验收参考时钟域核对与媒体时钟连接方案
Owner授权同AI方案/实施/自复核,不是第三方验收。基线ceb3d57;本机仍b122,b123原公证任务单次实时info仍In Progress,未重提交。完整54项、原固定五轮、连续性/有效性1.0及全部冻结容差保持,正式接受0/54。
1. 已完成的只读核对
自有参考源码中,FixtureNativeClockReference的observation实际读取Date().timeIntervalSinceReferenceDate(当前L1329),在mach_absolute_time前后界内记录墙上时间;Surface记录的presentedTimeSeconds来自Metal drawable.presentedTime(当前L1480)。后者也另记回调发生时的machAbsoluteTicks,但回调时刻不等于呈现时刻。9000条已封存Clock观察不能自动改成媒体时钟观察;不能把两种秒值直接相减,也不能把回调延迟纳入或伪装成FrameTime。
本机xctrace模板只读列表包含Animation Hitches、Metal System Trace、Power Profiler、Activity Monitor和Network。这只说明模板安装存在,不证明原设备当前支持相应数据、也不是独立数值验收。
另一次旧Apple trace的仅TOC导出在12.358668s观测进程树531.378906MiB超过512MiB后停止,exit -9,TOC空文件,不称schema发现成功;未原样重跑、未放宽上界。820份旧文件、314106259B前后逐项SHA相同,新增/漂移0。原件保留,不把旧设备记录外推为当前设备证据。
2. 唯一下一项本地实现
只补自有参考的默认关闭媒体时钟观察,不改Perfowl产品采集/公式/质量,也不改已有Date时钟字段、旧报告/参考文件或任何验收数字。仍为原五种参考文件,不新增高频流。先实现和验证,未E4不授予产品时间窗或校准通过。
在FixtureNativeClockReference每次既有50Hz观察中,原Date读界保持不变;只有显式布尔开关mediaClockReferenceEnabled=true时,另调用CACurrentMediaTime,并用单独两次mach_absolute_time夹住这次读取。写入独立嵌套mediaClockRead字段,记录schema、方法、原始Double秒和readBegin/readEnd原生ticks。未知类型、缺省或非true值均关闭;不复用Date的读界。OFF的既有字段/序列化结构与输出字节构造必须保持原样。
ON仅扩大本参考Clock文件上限至8MiB,以容纳9001次双钟记录;OFF仍4MiB,180s/50Hz/样本与32KiB批量写入/停止策略不变。先量化真实JSON行大小,完整180s上界应容纳,超限仍即停。新观察尚未存在于已装50.1.0参考App,不把旧字段补成新证据。
3. 转换数学与限制先入档
时间基保持s = ticks × numer / (denom × 10^9)。对单次媒体读数Double m,使用其原始二进制精确Fraction和舍入半ULP,观测偏移候选范围为 [begin×scale−m−ULP(m)/2, end×scale−m+ULP(m)/2]。每次独立读界、序列/时间基/有限值/次序都须验证;坏行、断点、重置与无交集必须拒绝,不补0,不跨断点拟合,不插值/最近点/hold-last。
上述只是媒体秒与原生ticks的观测范围,不是被自动证明恒定的全时段映射。消费工具必须保持sourceWindowBound=false和independentAccuracyPassed=false;即使观测相容,也不推出两次观察之间没有变化,更不证明产品事件与自有surface或整机前台同scope。Metal呈现时间必须来自原presentedTimeSeconds;回调的machAbsoluteTicks仅作到达时刻辅助证据。
原Date到UTC换算、已有NativeClockBrackets、已封存50.1.0样本均不回改。三项帧时间文字/机器容差1000倍冲突保持待决,不通过此补充默默放宽。
4. 验证与资源门
- 先增加与真实Fixture源码匹配的回归,旧源证明ON媒体字段缺失;改后OFF精确编解码兼容、ON独立读界/有限值/未知开关/上限/写失败/序列与footer控制全部通过。
- 独立Python消费者采用有界、精确Fraction算术,拒绝错误schema/浮点ticks/布尔ticks/反向读界/时间基改变/断序/墙钟错用;测试保持所有接受与绑定谓词false。旧Date消费者完整回归必须通过。
- 原源码提取的同函数OFF/ON各10000次×5交替组,单并发,first/read最大≤1ms,ON在50Hz下CPU占比≤1%,ON/OFF中位wall及CPU比≤3,整体≤30s/自身64MiB。编译各≤120s/768MiB;完整Fixture iphoneos一次源码编译≤300s/1536MiB,不签名/部署/启动新手机App。
- 180s最大行规模和9001次读取/JSON/consumer压力均留证,线性处理O(n),消费者有界n≤9001、内存≤64MiB/120s;来源字节与旧档摘要核验复用,原产品258源码漂移0。
5. 实际设备与全部门禁不变
原iPhone 15需要Wi-Fi且未供电,实际设备身份、UI全54选择/真实capture-plan必须再次核对,USB禁用3项不强选,也不缩成51项通过。Owner已获异步提示安排同一原设备无线未供电;未确认前不启动正式五轮。
App原公证任务超出先前执行时间门且仍在服务端处理中;只可单次检查同job,不再次submit,也不把原超时回改为成功。Accepted后才恢复同一已签候选、staple/独立解包/全树/实际75代码+CLI及资源核验,再覆盖唯一标准安装。当前签名、公证、安装、手机E4与数据校准分开记录。
独立电学/电池温度仪器缺失、Energy/GPU等不透明源、整机呈现scope、产品原生窗绑定仍开;本项不关闭这些门。完整54正式0/54、固定五轮未完成,Startup12排除/A1 OPEN/Hybrid FROZEN/G9 OFF/GPL正式分发门保持。没有新环境/worktree/网站发布;失败、待分析、封存证据不清理。
实施后按C6追加实际修改/偏差/证据与未解项,并同步时间线、知识页、状态账本和handoff;每端一次推送、GitLab失败不重试不阻断其他工作。下一执行直接按本方案,不另设Owner逐批审批门。