2026-06-13 / AvoidanceBenchmarkLogs

RVO2 本地避障结果:按唯一变量拆开看

这版报告不再把编辑器和百元机混成一张表。先在百元机内部比较算法、数量、维度;再在编辑器内部看同样趋势;最后才做同配置的跨环境差异。

移动端主依据百元机 / 720x1600
趋势参考编辑器 / 750x617
推荐默认档300 鱼 + XYZ3D
压测红线500 鱼开始警戒

Executive Summary

结论摘要

先给结论,再看证据。所有跨表比较都避免同时改变多个核心变量。

300百元机可用档。RVO2 / FreeSwim / XZ25D 第二次运行达到 30.1 FPS,空间重叠均值 1.1。
500百元机压测线。XYZ3D 在 FreeSwim 仍有 26.2 FPS,但 1% Low 已降到 15.8。
XYZ3D同场景同数量下空间重叠最低,Dense/CrossFlow 1000 都明显优于 XZ2D/XZ25D。
6-14x同配置下,编辑器 FPS 约为百元机 6 倍左右;百元机 simulation ms 约为编辑器 10-14 倍。
推荐口径:玩法默认目标按百元机结果定,不按编辑器定。编辑器只用于观察算法随数量和维度变化的趋势。

Phone Only / Controlled Variables

百元机内对比

同一设备环境内比较,避免把硬件差异混进算法结论。

算法变量:无避障 vs RVO2

固定:百元机 / FreeSwim / XZ25D / 300 鱼。唯一变量:避障策略。
策略FPS1% Low空间重叠最小间距判断
无避障7.00.580.9-0.674不可用
RVO2 第一次26.414.41.6-0.298有尖峰
RVO2 第二次30.123.61.1-0.017可用

RVO2 不是只减少重叠,也显著改善了百元机上的可运行性。第一次与第二次 RVO2 结果不同,后续建议保留重复运行取中位数。

数量变量:FreeSwim / XYZ3D

固定:百元机 / RVO2 / FreeSwim / XYZ3D。唯一变量:鱼数量。
100 鱼
30.2 FPS
500 鱼
26.2 FPS
800 鱼
11.8 FPS
1500 鱼
8.9 FPS
数量FPS1% LowSim msP95 ms空间重叠
10030.228.64.437.820.0
50026.215.822.7037.080.7
80011.85.254.07104.847.7
15008.93.1103.64189.0184.2

维度变量:Dense 1000

固定:百元机 / RVO2 / DenseCircleStress / 1000 鱼。唯一变量:维度。
维度FPSSim msP95 ms空间重叠判断
XYZ3D14.255.33103.7887.1质量最好
XZ25D12.169.90144.30474.4偏高
XZ2D11.870.63131.341190.3最差

维度变量:CrossFlow 1000

固定:百元机 / RVO2 / CrossFlow / 1000 鱼。唯一变量:维度。
维度FPSSim msP95 ms空间重叠判断
XYZ3D13.160.92117.8138.5质量最好
XZ25D11.977.62202.03384.4尾延迟高
XZ2D12.260.66118.03714.1重叠高

Editor Only / Controlled Variables

编辑器内对比

编辑器不用于移动端性能结论,但可以看数量增长和维度变化的趋势是否一致。

数量变量:FreeSwim / XYZ3D

固定:编辑器 / RVO2 / FreeSwim / XYZ3D。唯一变量:鱼数量。
数量FPS1% LowSim msP95 ms空间重叠
100169.493.40.620.840.0
300134.072.71.532.170.0
500129.767.82.332.410.2
100071.533.04.734.985.1
200040.517.712.1825.9755.3
500018.25.736.2286.95774.7

维度变量:Dense 1000 / 2000

固定:编辑器 / RVO2 / DenseCircleStress / 同数量。唯一变量:维度。
数量维度FPSSim msP95 ms空间重叠
1000XYZ3D85.25.388.2129.5
1000XZ25D83.84.975.43264.6
1000XZ2D79.85.417.25851.9
2000XYZ3D55.111.1426.22154.2
2000XZ25D50.212.1726.58765.8
2000XZ2D48.710.3411.582093.6
编辑器趋势与百元机一致:XYZ3D 的空间重叠始终最低;XZ2D 在 Dense 场景中最容易堆叠。不同的是,编辑器性能余量会掩盖百元机上的真实性能红线。

Cross Environment / Same Config

编辑器 vs 百元机

同配置跨环境对比只能说明设备差异,不用于证明算法优劣。

固定:RVO2 / 同场景 / 同维度 / 同数量。唯一变量:运行环境。
配置 编辑器 FPS 百元机 FPS FPS 倍率 编辑器 Sim ms 百元机 Sim ms Sim 倍率 空间重叠:编辑器 / 百元机
FreeSwim / XYZ3D / 100169.430.25.6x0.624.437.1x0.0 / 0.0
FreeSwim / XYZ3D / 500129.726.25.0x2.3322.709.7x0.2 / 0.7
Dense / XYZ3D / 100085.214.26.0x5.3855.3310.3x29.5 / 87.1
Dense / XZ25D / 100083.812.16.9x4.9769.9014.1x264.6 / 474.4
Dense / XZ2D / 100079.811.86.8x5.4170.6313.1x851.9 / 1190.3
读法:跨环境对比的唯一变量是“运行环境”,因此它只回答“编辑器结果离百元机有多远”。它不能替代百元机内的算法、数量、维度对比。

Method

控制变量口径

百元机内对比

环境固定百元机

用于回答移动端真实可用性:算法是否有效、数量红线在哪里、哪个维度质量最好。

编辑器内对比

环境固定编辑器

用于观察趋势,不直接判断移动端上线规模。

跨环境对比

配置固定环境变化

用于量化编辑器到百元机的性能折损,避免把桌面余量误当移动端余量。

Next Actions

建议动作

玩法默认档

按百元机结果,把默认目标定为 300 鱼 + XYZ3D。500 鱼作为压测档,不作为默认玩法规模。

优化方向

500+ 鱼需要分级避障:远场降频或关闭 RVO,只对近场、玩家交互区和高风险鱼群启用。

后续 Benchmark

补齐设备、构建类型、VSync、targetFrameRate、Burst/Jobs 状态,并对同配置至少跑 3 次取中位数。

数据源:编辑器批次来自 C:\Users\13999\AppData\LocalLow\DefaultCompany\FishROV\AvoidanceBenchmarkLogs;百元机批次来自 C:\Users\13999\AppData\Local\Temp。