模型与渲染发布候选(2026-10-05)
本页保留 2026-10-05 的发布候选记录;2026-10-08 的街区合批、原生 GPU 采样和现有预算结果见渲染性能优化。
改动
- 补齐十种车流模型、配送骑手、头盔、电动车外壳、后轮、货箱与车牌,保留模型共用的动作、皮肤及物理碰撞契约。
- 重设计骑手与电动车比例:缩短手臂、收窄并后移握把、缩短轴距、圆角前围;使用 85°–95° 独立镜头,参考与尺寸详见 重设计说明。
- 打磨近景曲面与法线;补齐刹车夹座、转轴和动态线管连接,加入随转向的前灯照明、灯罩微光及刹车尾灯。
- 补齐前后挡泥板固定支架并保留胎面间隙;模型预览改为按需渲染、缓存静态阴影、合批固定零件,拖动时控制像素量,结束后恢复清晰度。
- 独立第一人称深度层,避免迷你模式下路面穿过脚踏板;触屏转向区域跟随仪表盘投影,减少重复 DOM 样式写入。
- 440 个道路标线网格改为 3 个实例批次;路边建筑、树木、路灯和石墩实例化,保留长距离循环与路口避让;车辆刚性零件和远景按材质合批。
- 稳定长距离行驶的光照方向和路面纹理,调整天空渐变、昼夜曝光、建筑窗灯;夜间增加共享路灯光池和一个无阴影车灯。
- 桌面限制 240 万渲染像素,触屏限制 180 万且 DPR 最大 1.5;非游戏状态降帧,后台停止逐帧工作。
- 统计累计世界、阴影及第一人称渲染;生产校验排除车辆/骑手调试页面和接口。
- 首页保留 Logo 和黄蓝配色,改为品牌区、昼夜选择和操作面板;压平多层边框,支持 320px 小屏及手机横屏,开始按钮留在首屏,菜单支持方向键切换。
- 行驶 HUD 突出分数、剩余时间和稳定度,低稳定度使用警示色;手机刹车、加速显示按住状态,移除 HUD 的背景模糊并清理旧首页样式。
- 夜间略提亮道路和环境补光,强化标线,降低窗灯与路灯光池干扰;模型预览收紧阴影相机范围,小面积电池侧板保留干净的玩具材质表现。
本轮回归修复
- 双指刹车:原先任意手指松开都会发出松刹车指令。改为按动作汇总仍按住的指针,最后一根手指松开才释放;取消触摸、暂停和卸载均清理状态。通过 CDP 多点触摸先复现、再验证修复。
- 特效资源:原先一轮踢击结束会重复释放共用粒子的几何和材质,造成仍在使用的 GPU 资源失效。区分系统共享资源和单个特效的独立资源,重开时清理未结束的特效;单测覆盖 100 轮踢击/撞击和清理后重用。
- 手机首屏裁切:触屏全屏入口使开始按钮底部被面板裁掉 2px。将次要入口合并到纪录行,收紧间距并显式设置行高;浏览器回归检查完整可见比例,覆盖真实触摸媒体条件。
- 浏览器回归串行执行,避免多个 WebGL 测试场景争用同一 GPU。持续运行检查独立于快速发布门禁,可用
STABILITY_DURATION_MS=300000 pnpm test:stability复现 5 分钟检查(默认 3 分钟);包含三种时段、重复多指操作、10 次重开、资源计数及运行错误报告。该检查关闭持续录像和截图追踪,保留分时段截图及stability.json,减少测试工具的渲染开销。
已验证
在本地 Chromium 执行 pnpm release:check;游戏、预览和界面回归均已接入 pnpm test:e2e:
| 检查 | 结果 |
|---|---|
| TypeScript | 通过 |
| 单元测试 | 35 个文件,218 项通过 |
| 浏览器 E2E | 14 项游戏回归 + 2 项预览性能回归 + 5 项界面/多点触控回归全部通过 |
| 整帧采样 | 410 次绘制,58,836 个三角形;回归预算 <650 次 / <100,000 个三角形 |
| 模型预览 | 旋转 83 次绘制/帧、静止 0 次、纯镜头旋转 0 次阴影重绘 |
| 首屏 JS gzip | 265.1 KiB / 270 KiB |
| 首屏 CSS gzip | 13.9 KiB / 16 KiB |
| 生产产物完整性 | 24 个文件,调试代码未进入构建 |
| 首次可玩 | 10,600 ms / 15,000 ms;Pixel 5、4 倍 CPU 降速、Fast 3G |
| 持续运行 | 5 分钟三时段操作阶段,含准备及重开共 370.8 秒;27 轮多指操作、10 次重开通过,0 运行错误 |
| 资源采样 | 行驶中 320–358 个几何、34–38 张贴图;重开采样 305–339 个几何、34–37 张贴图,保持在测试预算内 |
绘制量受随机车流影响;以上整帧数据是启动后的一次采样,不代表持续帧率。持续检查使用 390×844、DPR 2 的 Chromium 触屏模拟(游戏实际 DPR 上限 1.5),覆盖三个时段中的反复加速、转向、踢击、松手归零和车流循环。5 分钟检查不替代真机长时间温度/耗电测试,也不能证明不存在缓慢累积的内存问题。此前无头浏览器曾出现 WebGL 上下文丢失,随后完整门禁通过;本轮最终回归未绕过遮罩或强行点击。
发布范围与剩余验收
本地未配置 VITE_YLF_CLOUDBASE_ACCESS_KEY,上述构建验证了渲染和游客降级路径,没有验证真实账号、云币交易、联机权威成绩或生产服务配置。部署时继续使用 EdgeOne 上既有的 publishable key 和 BFF 服务端环境变量,并按 发布验收清单 完成相应预发验收。
生产入口仍为 apps/dayun-kicker/dist;本次不修改 CloudBase 云函数、BFF 或账户接口。GitHub Provider 项目通过 main 推送触发 EdgeOne 构建,不能将本地无 key 的产物直接上传替代正式构建。部署步骤见 EdgeOne 部署。