Perfowl Renderer来源余量与失败保全 · 2026-10-21
不可变快照;正式32/66,Renderer0/5,未独立精度校准。
---
type: devlog
title: GPU Renderer当前对照资格决定与新五轮验收方案
date: 2026-10-21
status: approved
kind: plan
stage: P4
evidence: E4
metric: ios.foreground.gpu.renderer_utilization
---
# 当前参考资格决定与独占五轮
文档类型devlog。同一AI承担方案、实现、测试与分离复核,不创建子代理。依据Owner参考可构造优先规则及[取消额外Owner复核的决定](/devlog/p4-network-owner-acceptance-decision-2026-10-21)。正式32/66,当前唯一Renderer正式0/5。方案承接[来源与用例Canonical](/devlog/p4-gpu-renderer-source-and-cases-plan-2026-10-21),不修改renderer-gauge.v2公式或产品ARM196,不提前Tiler。
## 1. 当前候选资格收口
结论仅限当前设备、系统、锁定SDK、现有权限与工具:**已有同名Renderer观察数据,但当前没有满足本项独立同scope、同积分窗精确对照合同的可用参考**。这是候选资格未达到的结论,不是“手机完全没有Renderer数据”、硬件故障或全世界无参考。已执行可构造用例;不能因为同名可读就假造原生时窗,也不无限重复已知schema相同的采集。未来出现原生时窗/时钟契约或新独立来源时重新资格。
| 候选 | 已验证事实/实际用例 | 不能作为本项精确参考的具体条件 |
| --- | --- | --- |
| 自有App实际Metal计数器 | 实机只枚举timestamp/GPUTimestamp,stage boundary支持,完整正常/几何/取消/恢复;a12真实2704提交全完成 | 命令/阶段耗时是App工作时间,不能给整机像素处理资源忙碌比例;没有已知换算式 |
| Metal GPU Counters | 正确手机GUI负载实得28定义、593124值/635196区间;集菜单只有None/Performance Limiters | 所有定义中未发现Renderer同义量,Occupancy/ALU/命令时间不能换算Renderer;CLI建立超时不作为硬件不支持理由 |
| Diagnostics AGXAccelerator PerformanceStatistics | 空闲24/23及完整负载144/142与Graphics配对,Renderer字段存在、10统计字段重合 | 无设备采样戳或积分起止,独立性未证;主机请求区间不是驱动积分窗 |
| Apple Advanced Graphics Statistics | 新a12完整同场140秒用例,trace219.156128秒覆盖全程,218 Renderer值,2398行/11字段,全SHA | schema只有timestamp/stat/value/driver;官方sample-time为trace相对采样时刻,不提供原生XR戳、积分起止或两通道转换;独立producer语义未证明 |
| 产品原始gauge独立重算 | a11/a12全来源/derived/消费者独立核同 | 可证明恒等公式/来源绑定,不能独立校准驱动提供的数值 |
完整同场数据与差异保留在[准备结果](/devlog/p4-gpu-renderer-preparation-result-2026-10-21)。114/162近邻相等、149/162差≤1百分点、最大差30百分点是未同积分窗的描述,不当精度误差或硬件异常。原生戳按假设微秒单位与host差跨度0.174172秒;即使相关,也不是单位/积分窗的契约证明。已有本地2193 producer方法候选中没有对应graphics selector绑定;不以静态缺名认定远端服务不存在。当前缺口不能通过重复相同数据采样补齐。
本决定关闭的是当前候选的**可作为独立精确参考**资格;结果referenceComparable=false、sameNamedReferenceAvailable=true、referenceAccuracyValidated=false。按Owner“无法作为参考对照”的规则进入实际异常测试路径。未完成新五轮前testPassed=false/metricAccepted=false。完成后正式验收标记NO_REFERENCE_ACCEPTED_OWNER_POLICY,ownerReviewRequired=false;不再设置额外用户审批。
## 2. 五轮固定合同
建立新独占attempt `gpu-renderer-1hz-20261021-formal-a01`,新run前缀同名;只接受五个全新生命/Session/run。a11/a12及所有失败不充轮、不拼接。安装ARM196/Lab90.21.26及sourceDigest固定,单实例产品CapturePlan保持GPU三项/1Hz、startup和screenshots=false;这里只验Renderer,其他两项不顺带计数。
每轮新鲜实枚举≤59+i(i=0..4)且所有五个新名原不存在;全旧summary/manifest SHA、封口/released、导出集合、手机身份/版本/构建摘要核同。精确前轮已封口生命正常SIGTERM至多一次,两次独立DI为空;未知生命立即停,不按Bundle查PID发送信号。正常产品UI Start/Stop各一次,Lab短期冷请求part写入/rename/claim各一次,与真实设备时钟和构建摘要绑定;不URL重试、不直接launch、不安装。
完整140秒:20秒空闲、三段30秒片元阶梯256²/1、512²/16、1024²/64,draw1/30Hz,30秒恢复。真实每个提交/完成/单在飞/native样本与资源释放完整核对;各阶段均须实际命令全部完成,GPU命令无错误,正常plan-finished。正常/OFFON/几何/取消/恢复准备已独立完成,本轮不重放。
**冻结门槛**:从产品第一样本开始固定前120机会、每秒1槽,至少119有效;最大有效gap≤2秒。全部Raw与全部尾段数值有限0–100、来源违规0、严重异常0;至少1个实际正值,禁止全缺/全零空跑通过。derived、实时值、来源一次发表、TTL/epoch/生命、原生戳递增、CSV/JSONL与真实44Core模型/Codable/SessionExporter全样本核同。缺值保持null;SQLite完整性和roots检查,但无Renderer专属series就如实记不存在。原生stamp只作不透明新颖性键,不加假单位。所有尾段及失效点保留。
每轮全部五原件/完整导出、产品Session全文件源/host SHA保全;导出独立等待≤10秒;产品Stop后durable≤30秒。每轮独立工作量/算术与来源/真实消费者审核后才准下一轮。轮间封口后wall与monotonic都≥600秒,boot不变,不从截图、原件日期或文件存在猜冷却。首失败停止,后续轮不执行,不能补轮。五轮后另进程重新逐轮读取全部证据与冻结pins、容量/冷却、五生命与五Session做最终总审;只有总审通过才计33/66。
## 3. 保全与容量
末次实际61,不充新准入。选择已完整保全且分离通过的a11/a12两准备run;核其五原件与导出source/host SHA、旧全部metadata和导出集合、精确已封口生命;同容器独占rename至新PerfowlLabRetired子目录,删除0。保留每步意图journal、迁移前后目录与全metadata/导出守恒。新实际应61→59;不使用旧3261全Documents快照冒充包括新run。任一集合/生命变化停止,不扩大范围。手机其他原件/claim/失败/旧电脑不清理。
## 4. 效率与实施边界
复用已通过a11正常冷请求driver、a12独立审核及已SHA冻结的44Core消费者,提取显式batch/output/name/capacity参数;不改网络脚本名充GPU工具。先宿主软件控制与真实已保管a11/a12的完整审核回放验证参数绑定/门槛反控,phoneActions=0,不能计新E4轮。
关键路径O(≤64 metadata+events+bytes),1MiB有界流式复制/哈希、单设备/单轮、无并发编译。单轮采集总≤360秒、执行器RSS≤192MiB、Session≤256MiB/Lab≤16MiB;独立消费者≤60秒/RSS192MiB,正常审核预计<10秒。轮间600秒为既定冷却,不减少以加速。五轮预计约55分钟,最差≤80分钟;新driver不设置无人值守GUI替代CUA,UI边界≤45秒。新增预计≤1.6GiB,主机空间≥10GiB且≥预计两倍、手机≥512MiB;首次/每批及持续30分钟检查空间/增长,无常驻清理。
同配方a11/a12执行器191.309/193.683秒、RSS99041280/97992704B为当前真实规模基线;新正式执行器逐轮记录wall/CPU/RSS/I/O/首响应与最差值,审核复用消费者0.169秒/RSS21872640B为软件基线。移除参考观察器不能声称产品加速;资源门不放宽。
实施后同批更新本页Implementation/Validation Update、当前handoff机读;正式完成再按知识页/状态总表/首页/时间线/归档/构建与线上门交付。GitLab每批一次、网站/Webhook缺配置partial、公证暂缓按既有Owner授权,不额外询问。方案批准即由同一AI实施,来源与全部失败保留。
## Repair Decision / Implementation Update · 2026-10-21 · 离线SQLite不写证据目录
提取后的真实a11回放首停session-exact-file-set;调查发现历史SQLite mode=ro打开会在副本旁产生32768B shm和0B wal,两组旧副本均有这两个未在原32件manifest内的后生文件,原32件仍保留。不得删除后生文件、改写原manifest或把首失败改绿。新回放从原32件pins逐字复制到独占工作副本,另保留后生文件来源说明;新独立审核SQLite使用immutable=1,并在使用前明确要求封存pins中无非空WAL,避免忽略实际未checkpoint内容。真实checkpoint roots必须仍与SQLite一致。此修复限审核器,不改变产品数据库或指标语义;新真实回放和反控通过前不能新采集。
## Implementation / Validation Update · 2026-10-21 · GPU专属工具软件资格
已提取run_renderer_round、guard_renderer_round、prepare_renderer_idle及分离工作量/样本/真实消费者审核器。显式参数绑定research、私有输出、新runName、完整旧custody、精确生命和attempt;共享纯合同约束五新名、固定版本/真实容量/600秒冷却与两时钟idle新鲜度。原a11正常driver与a12审核为溯源,不运行历史队列;产品和Lab不变。
17项纯软件控制通过E2,含重复/旧名、容量/版本/参考篡改、无效索引/路径、metadata缺失/SHA、导出路径、两时钟过期/倒退、未知生命/重复信号及通道关闭反控。a11/a12原32件封存pins重建独占审核副本,2组工作量/样本/实际44Core消费者共6次均通过;实际a12 guard sourceUnchanged=false变异正确拒绝,手机动作0。最初a01因历史SQLite后生shm/wal而停,失败及缓存保留,按上文只修审核隔离并新增immutable边界,不放宽产品门。最终完整资格guard0.658秒/CPU0.570秒/RSS48267264B,无超门/信号;原两组审核与真实消费者基线保留,没有宣称手机测试已完成。
新私有保全输入只选a11/a12两个完整run,各五原件和完整导出host SHA已先核,预计61→59;这不是手机源SHA或真实容量收据。正式0/5不变。下一提交冻结工具,执行单次保全/精确正常退出,再真实五槽和完整新五轮。
## Recovery Decision · 2026-10-21 · a01操作超时与新a02
a01第一轮140秒负载及导出封口,但上下文接续期间错过45秒UI Stop确认,执行器UI-stop-timeout/exit1;随后CUA正常Stop一次,durable后32文件4478522B另目录源与host SHA保全。原失败结果不改,正式0/5。不得补拼a01或宣称产品数值异常。
新独占formal-a02使用五个全新run名,全部原冻结门槛、产品/配方、600秒双钟冷却不变。当前实际60,准入仍必须59;仅选已经独立保全通过的恢复准备a09,完整五原件/导出再核源与host SHA,保留rename一项使60→59。失败a01原位保留,删除0。准备器允许显式选择1或2个已保全run,前后守恒按实际选择数核对,其他签名/生命/保全门不变;增加空选择、越界和非成员反控后再执行。
操作保障:正式轮采集中只执行短小只读工作,距Start120秒开始至Stop确认每次等待不超过10秒,发现ready立即CUA Stop一次并实测确认,不在这段时间编写长文或整理交接。总执行360秒、UI45秒均不放宽。新attempt终态前不编辑其冻结输入。最终总审工具纳入新冻结并先用缺轮拒绝控制验证。
### a02工具实施结果
准备器改为显式1–2项已保全选择及按实际数守恒,19项软件控制通过E2;最终五轮审核器重新读取所有原件、隔离副本及三消费者,并经失败attempt拒绝控制验证,未生成假验收。a09六件宿主原件已重核,新准入须手机再核,不能用宿主结果替代实际容量。新attempt前源代码提交冻结,未改产品/包,无新增通过指标。
## Recovery Update · 2026-10-21 · a02未开始正式采样
a02因UI-start-timeout/后续UI-stop-timeout终止,产品实际Start/Stop各一次,未计轮。原工具wait_ui实际90秒,与前述45秒文案不一致;此处纠正实现事实,不回改旧失败。迟到Session32件3173678B另目录完整保全。只读核对实际仍59、新run0、全部旧metadata不变、旧导出保留、仅一个匹配claim且无pending、所有负载已释放,五通道关闭。该生命不当正式负载成功。
新formal-a03继续五新名、现有真实59容量,不再归位数据,先精确已观察自有生命正常退出一次并两次DI为空。使用实际90秒UI确认限、360秒执行器限,产品/配方/1Hz阈值/600秒冷却全部不变。交接严格执行“准备器结束立即同进程起guard并等ready→一次CUA读当前状态且点击并确认→立即写实际操作收据”,开始/停止之间不插入Git或审计工作。不得因操作失败放宽数据门槛。a01/a02失败原件均保留,不补拼。
## Repair Decision · 2026-10-21 · 实际产品状态观察代替二次人工回执门
a03执行器仍因UI-start-timeout终止;独立只读实查实际60/新run1、已封口/负载释放、claim1/无pending、旧metadata导出守恒。实际产品session-plan落盘距ready54.172143秒,而二次工具回写确认107秒,明确说明额外确认通道延迟,不是实际Start超过90秒。保持原失败,不用后来真实负载补拼该轮。
新formal-a04仍同ARM196/Lab26、90秒UI等待、360秒执行器、140秒负载、119/120与gap≤2、600秒双钟冷却。只修改宿主交接:CUA按真实当前按钮Start/Stop一次;执行器只读观察beforeSessions之外唯一新目录的真实session-plan(设备/目标/1Hz/GPU三项/关闭startup与screenshots/controlled-cold-launch全部核同),视为真实开始凭据。Stop只接受该Session实际manifest的productSessionDurable和endedAt,不依赖另一次模型工具调用写回文件;收据明确标记product-filesystem-observation,不能伪装人工操作回执。错误目标、多Session、未知计划、超时、未持久化均拒绝;原GUI动作仍可审计。观察每0.5秒、小文件≤256KiB、有界目录≤4096、O(Sessions)初次+O(1)停止,RSS门不变、无额外手机调用、不自动点击。
先反控及已保全真实Session只读资格通过,再新attempt。当前60,已独立通过准备a07完整六件源与host SHA保全后单项rename60→59;失败a01/a02/a03全部保留、删除0。产品/Fixture无需升级,避免不必要安装。完成工具/保全不计新增指标。
### 状态观察实施与资格
26项软件控制通过E2,覆盖错误目标/采样合同、多Session、旧Session、不完整/超大JSON及未durable结束拒绝;实际a03保留Session只读观察Start/Stop均通过,手机调用0。a03迟到Session32件4704805B另目录全SHA保全。1000次真实规模观察wall0.195964秒、P95 0.328ms、峰值RSS 22151168B,低于P95≤10ms/RSS192MiB宿主门;实际新轮耗时仍须记录,不把观察软件资格等同指标通过。新a04仅a07六件宿主重核,手机准入尚待。
## Validation / Research Decision · 2026-10-21 · a04首次真实覆盖失败
a04第一轮执行175.700964秒、CPU1.534965秒、峰值RSS100728832B,真实Start/Stop状态交接通过,140秒2704命令全完成、5550事件/91 native/133 observer,正常释放,全部五通道关闭。样本149/147有效,固定前120仅118有效,第93/95机会missing-new-renderer-source,最大有效gap2.000991167秒;0来源/算术/范围异常。按冻结119/120及gap≤2双门首失败停,正式0/5/32项不变;原件不补拼、不缩分母、不改绿。
原始来源是上游Graphics以startSamplingAtTimeInterval:(0.0)请求的默认约1Hz;在第93–95机会附近,来源与1Hz发表相位交叉,两个来源落在同一发表间隔,latest-only覆盖中间观测,随后槽无新来源。仅FIFO3离线反事实回放119/120(第95仍缺),不声称修复或正式通过。主机时戳只用于到达关系,不给XR戳假单位、不据此推断驱动积分窗。
下一只做显式原生采样间隔的有界资格:同现有设备/已封口自有生命,以锁定pymobiledevice3 GraphicsService原生start_sampling_at_time_interval_分别0.0与0.5,各20秒、最多128事件、单次Start/Stop、完整原始/host时戳/成本/通道关闭,无产品Start、无新负载、无信号/安装。0.5单位/可达频率在测前不假定;若未实际达到≥1.8Hz则不进入产品。对照字段/新颖性/身份保持,原始完整保留。主机RSS192MiB/单组≤40秒,预计总≤90秒/新增≤1MiB;当前主机空间须再核。资格后再定产品最小修复,公式/source-once与缺值语义不放宽;新包及新完整五轮另立。
### 原生频率资格a01结果与a02候选
0.0组20事件/19.224551秒跨度=0.988320Hz,0.5组20事件/19.254248秒=0.986795Hz;各Start/Stop一次、均完整关闭、峰值RSS75464704B。0.5并未达到≥1.8Hz,拒绝进入产品。不能由此认定硬件不可提高频率。
发现独立selector候选setSamplingRate:。原始项目示例在Graphics通道先设置5.0再启动,注释描述约0.5秒事件:[idb原始实现](https://github.com/dkw72n/idb/blob/master/instrument_service.py)。这是候选提示,不当Apple单位契约或当前实机事实;不复用其运行内核。下一仅以锁定pymobiledevice3 DTXService和自研最小声明绑定该selector,实际一次5.0/20秒/128事件有界资格,startSampling仍0.0;原a01基线复用,不重采相同对照。不安装、不启动App、不进入正式轮,实际≥1.8Hz及字段/原生键新颖性核同后才定产品方案。