外观
第二轮反馈修复
关联第二轮口径及采集方案与报告导出方案。基线866fdd2a,Owner要求同一AI顺序方案、实现、软件测试、分离复核及内部打包;不创建子代理,不操作手机。正式55/66、其余11项暂停,公证继续暂缓,系统安全不变。
只读诊断(E1,既有用户会话)
最新完成会话53个CPU及Footprint点均有值,源publication间隔0.918–1.083s;主机消费间隔最大2.755s。27张保存截图中位间隔2.153s;串行HEIC编码占用SessionStore,同时调度超时后额外等待完整1s。FTime仅1/53,真实ActivityTrace的FrameLifetime匹配为0;启动CoreProfile片段只有约1.58s。旧续采策略虽改为rotate-to-frame-only,但scoped_feature_flags把frame_time永久设false,实际startup-closed/not-required。此处不证明ActivityTrace可用,也不把其它UIKit/CA活动冒充FrameLifetime。
固定修复决策及口径(先于代码)
- 截图:固定主机单调时钟1s网格。下次deadline=上次deadline+k×1s,其中k为使deadline严格晚于完成时刻的最小正整数;超时跳过错失槽,不补拍、不复制图。一个请求在途,保存编码移出Store actor,默认JPEG(最长边1800、quality0.75);预览维持有界缩略图。编码真正完成后才返回,Stop取消并join,代际变化不写入新Session;不引入每秒新进程。设备请求本身超时仍如实记录实际时间,不承诺物理精确1Hz。
- 曲线:X轴仍为原Session host接收时间,不改旧事件、均值或导出时间。连续性判据版本
sample-publication-cadence.v1:同进程/代际下,两个相邻样本均有合法正sourceMonotonicNs时,以该host publication时钟的正间隔判断1.5×采样周期断点;否则成对回退原host时间。非递增publication、真丢点、nil/非法值、身份或源代际变化仍断线。只换间隔判据,不逐点混合时间轴,不跨缺值插值;向量沿用同一规则。已保存sample.sourceMonotonicNs来自CollectorWireEvent.monotonicNs,不是设备Mach端点,更不替换启动Total时钟。 - FTime:接通已批准的启动后串行CoreProfile帧续采,限明确同时选择startup与frame的计划;纯frame仍走既有ActivityTrace,不另开争用tap。ActivityTrace真实激活后保持原优先级,不以CoreProfile伪装其来源。未激活前既有CoreProfile FTime候选兼容路径继续使用真实decoded frame间隔;逐点记录实际来源/算法。公式、单位ms、有效性、新帧门、epoch重置及startup drain/restart超时均不改;FrameLifetime缺失和静态页无新帧仍可为空。只闭合续采开关,不声称解决所有设备帧可用性或准确性。
- 报告:左栏顺序为概览、启动、CPU与调度、内存、画面表现、GPU、网络与磁盘、能耗、标记。概览保留6个重点均值卡,但下方包含原全部用户可见指标、启动结果;取消独立全部指标。普通用户报告无内部/可靠性徽标,诊断保留真实质量。
- 标记与放大:截图轨迹标题上方/同标题栏放书签小按钮,打开既有标记编辑并可跳转标记页;已有采集note与用户阶段在轨迹上方显示带时间的书签小按钮,点击定位/选择原阶段,不另造时间书签模型。截图单击仍定位,双击打开原附件大图、等比显示、Esc/关闭及前后切换。使用现有路径校验及有界缓存,放大解码最长边1800(不是放大160px缩略图),缺图明确占位。
执行效率及验证门
调度O(1)、连续性O(N×指标)沿用原索引;保存一个编码在途、脱离主actor,附加内存上界为一张原PNG与预览/保存图,缓存仍32MiB/64项,放大单图不超过1800px。无设备新增请求/轮询/常驻服务。Stop不抛弃同步codec,不以任务取消冒充已停止。预算:测试阻塞codec期间sample append<100ms;截图codec以真实屏幕尺寸同输入前后对比wall/CPU/RSS/编码字节(JPEG目标<1s,真实设备耗时另待Owner验证);新节拍控制覆盖0.2/1.2/2.6s请求耗时、不突发、取消及代际竞争。报告60s/1h/4h同配置对照,不扩修既有长会话资源缺口;首响应、长任务及最差场景如实记录。
软件测试覆盖真缺点与假断点、旧时钟回退、向量、来源标签、选择映射、Stop/restart、导航概览、双击/单击/关闭/缺图和路径越界。只读复算4份会话,前后所有文件SHA不变;不重写历史报告。构建231必须重冻结Python core,严格签名/独立验包/空闲后同址安装。软件验证仅E2,安装E3,Owner负责第二轮手机复测;不自称阶段PASS。文档、双远程、通知分别记录实际状态。
Implementation Update · 2026-10-28
PerformanceSessionController使用O(1)固定网格;PerformanceSessionStore在取可变manifest前await有界JPEG编码,恢复后校验实例token,避免覆盖编码期间已写入的sample计数或跨Session写图;原图、时间与失败事件不伪造。SessionReportBuilder标量/向量使用成对publication间隔判据,旧坐标及统计不变;真实missing和身份边界仍断线。- Python scoped选择接通startup+frame续采,纯frame不额外开CoreProfile;FTime逐点区分CoreProfile PresentedFrame与真正ActivityTrace,one-shot不重复。历史CoreProfile exact-filter约18.76MiB/s的资源风险仍存在,接通策略不等于证明低开销或帧来源可用;新设备源吞吐/观察者效应须Owner复测,资源门保持partial,不提升指标状态。
- 报告取消独立全部指标、概览包括全量用户可见曲线及启动事件,6卡单独选择;右侧详情改LazyVStack避免全量布局。截图上方书签入口、已有note/阶段小书签;轨迹与检查器双击原附件大图、1800px上界、前后切换/关闭/Esc、缺图占位;共用32MiB缓存及防目录越界检查。
- 首次窄回归发现旧HEIC预期未更新及新增FTime来源标签错误引用不在FORMULAS中的ID,均保留失败日志并修正:JPEG为明确的新持久化格式,ActivityTrace版本取现有Registry
activitytrace-framelifetime-presentation-gap.v1。未改FTime数值公式。 - 软件UI自动点击探索遇到xctest的SwiftUI AX树为空,合成点击未触发,失败原件保留;不把此当成交互成功。改为原生只读渲染测试,实际手势将在标准安装App中经独立UI通道检查,不连接/采集手机。
验证与交付进度
实现已落盘,软件全回归、真实会话独立数值/附件核对、规模对照及231构建/安装进行中。构建成功不代表新手机E4;尚不称本批完整交付或阶段PASS。最终结果继续追加,不回改旧记录。
Validation Update · 2026-10-28 · 软件与保存会话
Swift全量软件回归433项、9skip、0失败(53.181s);跳过的是显式opt-in测试,不是被删除的失败断言。覆盖有阻塞codec时sample append<100ms、真实取消join、Session token隔离、固定节拍及溢出、标量/向量真缺口与延迟假断点、导航概览全部指标、原附件1800px/路径和缓存预算。原生普通报告无内部词OCR测试与真实附件大图渲染通过;真实鼠标/键盘交互另列安装后UI检查。Python scoped选择7项、continuation15项(6.437s)、Realtime60项(9.591s)、Display切换/来源7项(0.016s),均0失败。此为E2软件,不是重新验收历史指标。
分离读取4份保存会话,独立重算Excel CPU/Footprint逐行及均值、时间列、FTime点值、截图ZIP JPEG结构与张数;源文件175/175 SHA保持不变,27张真实图没有被复制补齐。最新会话CPU/内存原主机间隔产生的8个假断点,在publication判据下为0;源点及均值未变,FTime仍只有原来1个有效值,旧数据不补写。初次独立脚本把PD第7列Smooth误当FTime而失败,已保留并纠正:PD逐秒表没有FTime列,改查原生报告FTime原点;不向未知列硬塞数据。
同配置资源对照(E2)
同一组合成1Hz/零截图fixture、debug配置,前后各一次;OS缓存未控制,改善不全部归因代码。游标计时只到Canvas提交,不是屏幕呈现。
| 规模 | 加载前→后(s) | 首绘前→后(s) | CPU前→后(s) | 峰RSS前→后(MiB) | 游标P95前→后(ms) |
|---|---|---|---|---|---|
| 60s | 0.165→0.102 | 1.309→0.783 | 4.721→3.380 | 71.29→72.63 | 88.29→63.83 |
| 1h | 9.917→5.067 | 11.496→5.681 | 14.141→8.062 | 122.93→123.10 | 83.20→49.87 |
| 4h | 65.664→22.252 | 68.652→23.042 | 52.128→25.011 | 235.80→288.23 | 129.41→55.48 |
4h峰RSS增加约22.2%,超出1.2倍目标;1h/4h首绘及部分游标仍超既有绝对门。保留失败,不以相对改善关闭资源门。本次截图1179×2556合成纯色PNG同输入5次中位:HEIC 0.2214s/CPU0.7525s/2063B → 异步JPEG 0.0446s/CPU0.0444s/25060B;JPEG以更多压缩字节换更低编码开销。RSS是同进程累计峰值(约189.8→198.0MiB),不等于两个codec各自峰值或内存改善;报告规模收据含进程I/O,codec仅wall/CPU/累计RSS/输出字节,缺单独I/O峰值;热缓存读数0不代表物理I/O不存在。纯色图不是所有真实手机PNG最差复杂度,真实请求节拍和持续CoreProfile流量/CPU仍待Owner复测,资源门partial。
Internal Installation Update · 2026-10-28
已安装Build231,替换230,仅/Applications/Perfowl.app,签名App及DMG均为Developer ID;严格验签、独立挂载、安装树12912文件/30符号链接核同,330个Mach-O均x86_64且无外部绝对依赖;105个冻结Python core模块与本次源码核同,非复用230旧core。Python3.12/完整lock/native freeze输入沿用已核本机环境;安装前4份会话均非活动、无客户端进程,230 ZIP回滚独立还原核同。私有可索引App副本已清理,dist只保留231 DMG与SHA,原会话/失败证据不删。
产物:MacApp/dist/Perfowl-231-macos-x86_64-internal.dmg,149510738B,SHA-256 9efc01d78202574e27c4ab048309dd77fe5301bc0716dfcc4d3ff4953caacd06。公证按Owner指示继续暂缓;Gatekeeper返回3、Unnotarized Developer ID,系统机制不变,内部安装不冒充正式可分发/法务闭环。
安装后独立CUA检查:普通报告左栏顺序、概览全量、截图单击固定01.97秒、双击弹出1/27原附件、下一张切至04.14秒2/27、Esc关闭;轨迹上方书签打开既有备注/阶段,取消后回标记页。未保存改动、未选设备、未Start,175个会话文件SHA再次全部核同。主机UI属于E3,不是手机E4。先前xctest点击失败属于测试宿主无AX连接限制,已由标准App真实UI通道验证接替,不改写失败材料。
当前整体进度与下一阶段
五项产品修改及软件/既有会话/安装UI验证完成,231已同址覆盖供Owner测试;持续截图真实1Hz、FTime持续覆盖与CoreProfile观察者开销仍待新手机会话,旧会话不补值。正式55/66、11项暂停不变;资源绝对门、4h RSS、Office实开、公证/法务及站点最新构建/发布分别开放,交付状态partial,不宣称阶段PASS。下一由Owner按相同冷启动与标签切换流程复测,不由AI开始手机验收。
Final Software Review Update · 2026-10-28
额外补查CLI 11项、source preparation 8项均0失败。unified CoreProfile旧套件8项首次有3项失败:仍把显式startup+frame请求的计划级mode固定为startup-only,属于本次已文档化策略调整遗漏的测试合同,而非数值断言失败。修订范围限定测试:混合选择仍验证初始单tap只含lifecycle滤器、无并行tap,计划mode为startup-and-frame;独立epoch/启动报告关闭测试明确使用startup-only输入,保留原关闭及不重启断言。实际续采、取消、busy/backoff与frame-only隔离继续由15项continuation测试覆盖;不为通过测试修改产品或放宽帧数值门。最终重跑结果下附。
Final Validation / Delivery Update · 2026-10-28
- 修订测试合同后unified 8项0失败(2.785s);7个相关Python套件组合重跑116项0失败(19.444s),涵盖capture plan、15项continuation、60项realtime、display切换、CLI、source preparation及unified。一次组合命令误写不存在的test_realtime模块,失败日志保留;更正为实际test_perfowl_realtime后获得上述116项结果,不改产品。软件证据E2。
- 已安装231的63个Swift源码SHA与最终产品工作区再次核同;追加的仅测试与交付记录,App严格验签通过,客户端保持正常退出,磁盘约61GiB可用;既有175文件未改。
- 本批站点client/server/render完整构建成功173.796s(固定Node24.19.0,含66 Registry知识门PASS、归档同步845份;存在既有大chunk及文案risk warning,非零错误)。该成功对应Internal Installation Update快照;本收尾增量与新增归档随后另做最终构建,实际终态保存在私有收据,不以较早成功冒充后一次结果。
- 生产发布dry-run明确拒绝,build/upload均0:当前为保留WIP的feature分支,非clean main,且GitHub main不同于本地目标。未擅自合并、切换、重置或覆盖他方工作;本批网站生产发布partial,内部App不受影响。
- 本地窄范围提交、双远程各一次推送与核同、企业微信单次通知在产物验证后执行,最终状态以独立交付收据为准;同步失败不改称产品失败。本批整体partial,正式55/66及11项暂停不变,下一步仅Owner新一轮手机试用。截图实际1Hz、FTime持续覆盖/源开销、4h RSS和绝对延迟、Office、公证与法务等门继续开放。