FPS测试(每秒帧数)
在你选择的负载等级下,测量浏览器当前实际渲染的每秒帧数——通过浏览器粗略评估你的CPU/GPU和浏览器 相对于显示器最大刷新率的表现。
FPS测试——也叫帧率测试或FPS计数器——测量的是某样东西每秒渲染多少帧;在这里,指的是在你浏览器 标签页中实时运行的canvas动画。在上方选择一个负载等级,这个工具会统计每秒实际渲染的帧数,显示 你的当前帧率、滚动平均值、1%最低值(你表现最差的那些瞬间,对感知流畅度的影响其实比平均值更大) 以及以毫秒为单位的帧时间。这是一种无需下载、快速了解你的浏览器和硬件如何处理渲染工作的方式, 也方便对比关闭后台标签页或更新显卡驱动前后的变化。
负载等级实际做了什么
- 空闲——不渲染任何粒子;由于没有任何东西强制跳帧,计数器基本上反映的是你显示器的刷新率。
- 轻度(300个粒子)——少量的持续渲染工作,足以区分现代设备和非常老旧或低性能的设备。
- 中度(1500个粒子)——大多数当前的笔记本电脑和台式机应该能在这个负载下接近显示器刷新率,不会明显下降。
- 重度(4000个粒子)——开始显现集成显卡与独立显卡之间,以及开启和未开启硬件加速的浏览器之间的真实差距。
- 极限(9000个粒子)——一个刻意过度的负载,用于找出你这套具体设备开始吃力的临界点,而不是一个现实的日常场景。
FPS与刷新率:为什么你的数字看起来像被限制了
帧率(FPS)是你的浏览器每秒实际生成的帧数;刷新率(Hz)是你的显示器每秒能够显示新画面的次数。 浏览器把自己的渲染循环绑定在 requestAnimationFrame 上,默认情况下它会被限制在与 显示器刷新率一致——所以在标准的60Hz显示器上,无论你的显卡多快,这个测试在空闲状态下都不会 明显超过60 FPS,因为多出来的帧根本没有地方可去。如果你想单独测量这个数值,专门的 屏幕刷新率测试 就是在完全没有渲染负载的情况下专门做这件事的。这个FPS测试真正有用的地方在于更高的负载等级, 在那里真实的渲染工作会把你的实际帧率拉到显示器上限以下——这个差距才是有意思的信号。
为什么1%最低值比平均值更重要
很高的平均FPS可能会掩盖那些短暂而剧烈的掉帧,而这恰恰是你的眼睛和反应真正会察觉到的——比如 在快速转动镜头或画面繁忙瞬间出现的短暂卡顿。1%最低值统计的是表现最差的百分之一采样点的平均 值,这也是为什么硬件评测者在对比显卡时更依赖它而不是单纯的平均值:两套系统可能报出相同的 平均FPS,但其中一套明显感觉更卡,因为它最差的瞬间远低于其平均水平。平均值和1%最低值之间的 差距越小,通常意味着运动越流畅、越稳定,即便平均数字相同也是如此。
为什么这不能直接替代游戏内基准测试
这个测试是通过浏览器自身的合成器在HTML canvas上渲染2D图形,这与原生游戏引擎直接通过 DirectX、Vulkan或Metal针对显卡驱动绘制3D几何体、贴图、着色器和光照,走的是完全不同的图形 管线。浏览器还带有原生游戏没有的额外开销——标签页沙盒、JavaScript执行,以及其他打开标签页 中正在运行的一切。请把这里的数字当作同一台设备上的相对比较(比如关闭后台程序、切换浏览器 或更新显卡驱动前后的对比),而不是真实游戏中FPS计数器的替代品。
真正影响你成绩的因素
如果你把这个当作可重复的FPS检测工具或基准测试来用——比如在驱动更新前后进行测试——除了负载 等级本身之外,还有几个因素会影响你看到的数字。硬件加速的影响很大——Chrome、Edge和Firefox 默认都会把canvas和合成工作交给你的显卡处理,但这个设置可能被手动关闭,或者被过时的显卡驱动 阻止,从而迫使一切都走更慢的纯CPU软件渲染。集成显卡(内置在处理器中,常见于笔记本电脑和入门 级台式机)在轻度和中度负载下通常表现正常,但一旦到达重度或极限负载,下降速度会比独立显卡快 得多。笔记本电脑的省电模式——无论是Windows的电池管理模式还是macOS的低电量模式——都会刻意 限制CPU/GPU的时钟频率以节省电量,这在测试中会表现为比插电时更低、更不稳定的帧率。向每个 页面注入脚本的浏览器扩展、后台播放视频或运行动画的其他标签页,以及大量争夺内存的已打开程序, 也都可能从总帧数中削去一部分。
常见问题
这个FPS测试到底测量的是什么?
它统计的是在你选择的负载等级下,canvas动画每秒渲染的帧数。在空闲状态下它基本上反映的是显示器的刷新率;在更高负载下,反映的是真实的CPU/GPU渲染能力。
为什么我的电脑明明很强,FPS却被限制住了?
浏览器默认会把渲染限制在显示器的刷新率以内,所以60Hz的显示器会让这个测试在空闲状态下被限制在接近60 FPS,无论显卡有多强。需要一台刷新率更高的显示器才能看到数字进一步提升。
这个测试能预测我在真实游戏中的FPS吗?
只能作为粗略参考——这是浏览器标签页中的2D canvas渲染,与原生3D游戏引擎的图形管线不同。最适合当作同一台设备上的相对比较,而不是游戏内FPS的直接替代品。
什么样的FPS算是不错的?
30 FPS是让画面感觉流畅的历史最低标准,60 FPS是长期以来的主流目标,而使用高刷新率显示器的竞技玩家常常追求100+ FPS以降低输入延迟。
为什么提高负载等级后FPS会下降?
粒子越多,每帧需要处理的运算和绘制的像素就越多。如果在较低负载等级就出现明显下降,大致说明瓶颈在于你的CPU、GPU或浏览器加速设置,而不是显示器。
这个测试和屏幕刷新率测试有什么区别?
屏幕刷新率测试在没有渲染负载的情况下被动读取显示器的Hz值。这个FPS测试加入了可调节的渲染工作量,让你看到在需求增加时,你这台具体设备的帧率会如何变化。
为什么关闭其他标签页或程序会有帮助?
其他标签页和后台程序会和这个测试争夺同样的CPU/GPU资源,而这些资源正是稳定帧率所需要的。测试前关闭多余程序,尤其是在重度或极限负载下测试时,能得到更干净的读数。
相关工具
在没有渲染负载的情况下检测显示器真实的Hz值,可以使用 屏幕刷新率测试, 或者看看你的鼠标报告位置的速度有多快,可以使用 鼠标轮询率测试。
Prefer English? Read this page in English.