runtime-regions-20261013.md 3.2 KB

实际区域诊断与准入修正(2026-10-13)

用户已授权浏览器,正式URL仍http://127.0.0.1:8000/#/cockpit。新增开发态只读诊断:regionSnapshot、coarse加载阶段、当前camera/HPR、最近120帧preRender→postRender提交时间和移动帧间隔。没有强制render,不改变调度;GPU时间未测,静置FPS不适用。销毁监听回归通过。

v6实际页面观察

Agent Window qcff,1440×900 CSS viewport(所用工具带ipad设备emulation;不作为用户硬件FPS标准)。普通进入、wheel拉近、pipeline按钮。

  • 归位全景:engineState=ready,regions=[],coarse phase=ready,pending/processing=0/contentReady=true;camera range12000/pitch-55。最近样本render提交P50=4.2ms/P95=5.1ms,移动间隔P50=16.7/P95=24.6ms。
  • 拉近range1560.3445/pitch-55:region39(32content、loaded6、preview6/6)、73(30content、loaded15、preview15/15) phase ready/queues0,两区coarseMasked=true,说明真实预览替换mask生效。render提交P50=2.5/P95=4.6ms,移动间隔P50=16.7/P95=18.9ms。
  • 再拉近range469.9667:region39与64均preview完整、queues0,但coarseMasked=false。实际region sphere39半径1288m、64半径1186m,内容分散在多个相距较远的建筑片,两区大球进入视锥不代表实际建筑进入视野。
  • 切pipeline:viewMode=pipeline/regions=[],coarse ready/contentReady=true/queues0,camera pitch-18/range400,实际证明当前控制器释放精模区。render提交P50=8.8/P95=13.3ms,移动间隔P50=16.7/P95=20.3ms。

这些是当前浏览器render事件读数,非完整CPU/GPU分析、稳定FPS或动态录屏。最近120移动样本跨不同交互段,不能横向简单比较为性能提升。业务预警面板失败仍独立,不当作房屋错误。

v7准入修正(浏览器未复验)

新city-regions-v7为index-only增强,113region、631个实际preview content球;全部modelURI、纹理、几何、contentCount和资源预算与v6一致。运行筛选改为逐实际preview球进行相机frustum可见检查,再取可见最近球的表面/中心距离优先级,避免“大区域内部空洞”抢占2个准入名额。fallback兼容旧manifest无admissionBounds,使用旧regionbounds。

索引回归通过:113regions/631actual bounds、全模型路径和预算不变。区域控制/管道/异步销毁回归通过。当前配置已指向v7,但新浏览器复验被工具阻塞:旧session reload报notregistered/stopped,新session start报5session limit;stop接口把空session/requestId互斥字段作为同时传入,未成功清理。多次重复失败请求是本轮工具使用失误,已停止;不把它算作模型阻塞或v7运行通过。

下一步与回退

需要恢复browser会话清理能力后,在正式页复验:相同range470m进入实际有楼区域、准入slot不被空洞占用、pipeline regions始终[]、细层局部render。用户最终视觉接受仍缺。若v7效果回归,仅URL和regionManifest改回city-regions-v6;资产/纹理不删,运行代码兼容旧清单。

本轮无Web build、新server/路由或模型重建。自动目标继续active;issue35仍open,不能以诊断样本签署完整性能/建筑视觉验收。