它会运行什么
标准测试由 5 个运行在 WebGL2 上的 Signature 场景组成——每个场景分别压测管线的不同部分——再加上 1 个刻意做得很朴素的 Canvas 2D 场景,作为 CPU 受限的对照:
| 场景 | 压力点 | 画面效果 |
|---|---|---|
| Nebula Drift | GPU 粒子更新与 fill rate | 由海量粒子组成的星云,在 curl-noise 流场中缓慢漂移 |
| Neon City | Draw call 与 instanced geometry | 穿越由大量发光实例建筑构成的城市 |
| Liquid Metal | Fragment shader / raymarching | 通过 raymarching 渲染的镜面变形球液态流体 |
| Meteor Falls | CPU 物理与逐帧上传 | 持续碰撞的 Verlet 碎片流与移动几何体 |
| Supernova | 混合型最终压力 | 核心坍缩、冲击波,以及 50 万粒子的爆发 |
| Basic Canvas 2D | Canvas 2D 填充与简单物理 | 一条诚实的基线:彩色圆形平滑弹跳 |
Screen Test Pro v1 的 8 个原始特效保留在经典模式里。上方按钮会用同一套测量引擎运行它们,但分数只在它们自己的体系内计算,也永远不会提交到任何地方:纯粹怀旧,但测量照样老老实实。而且两个层级里的所有场景,都可以在特效画廊中以不计分方式运行。
分数是怎么来的
每个场景都会把粒子负载上下调整,寻找你的设备在固定 16.67 ms 帧预算内能够稳定维持的最大负载。判断依据是约 1.6 秒窗口内测得帧时间的第 95 百分位数,而且必须连续多个窗口都通过或失败,某个负载级别才会被接受或淘汰。这个“最大稳定负载”会按照各场景的参考值归一化,再通过加权几何平均合并,得出总分和等级(Entry / Balanced / Fast / Extreme)。
一些值得知道的细节,都写在完整方法说明里:
- 高刷新率屏幕不吃亏。 无论你的屏幕运行在 60 还是 165 Hz,预算都固定为 16.67 ms。
- 切到后台只会让当前窗口作废,不会毁掉整次测试。 如果切走,当前测量会被丢弃并重试;基准测试会暂停,而不是记录垃圾数据。
- 热漂移会被标记出来。 每个场景结束时都会重新检查一次基线负载;如果设备在场景中途变慢超过 15%,结果会被标记为性能退化,而不是悄悄混进平均值里。
- 分数带版本号。 这是基准测试 {BENCHMARK_VERSION}。只要场景负载有变化,版本号就会上升,不同版本的分数永远不会相互比较。
- 所有状态都有硬超时。 单个场景不能超过 30 s,整轮测试不能超过 150 s,而且每个状态都有退出路径。这个基准测试可以取消,但不会卡死。
它能告诉你什么,不能告诉你什么
这是一个浏览器工作负载分数。它反映的是你的 GPU、CPU、浏览器、操作系统、温度和设置共同作用后的结果——这让它很适合衡量设备在浏览器里实际能交付什么性能;但如果你想比较芯片本身,它就不能代替原生基准测试。我们在浏览器基准测试能测什么,不能测什么里把区别老老实实写清楚了。两个直接结论:运行前先关掉其他标签页;分数只有几个百分点的小差异,请当噪声看。
匿名样本
完成一次标准测试后,会提交一条匿名记录——分数、粗略硬件家族、屏幕参数——用于公开的硬件基准统计。分享默认开启;启动卡片会展示你的设备实际准备发送的具体值,在那里取消勾选后,基准测试仍会照常运行,只是不提交任何内容,而且这个选择会被记住。详情见隐私政策。