分形体积着色
沿视线对 Mandelbulb 类分形距离场采样,构成高计算量、可重复的负载。

VolumeShader_BM 也叫毒蘑菇测试,是一个在浏览器里运行的 GPU 基准测试。它用 WebGL 渲染 Mandelbulb 分形场景,逐帧记录帧时间,结束后给出平均 FPS、1% Low 和帧率曲线。它也常写成 volumeshader_bm 或 volume shader bm,缩写是 VSBM。中文社区多叫它毒蘑菇测试或者毒蘑菇性能测试。
VolumeShader_BM(也写作 volumeshader_bm、volume shader bm,缩写 VSBM)是一个基于体积着色器与分形渲染的浏览器 GPU 压力与性能基准测试。Volume 指体积渲染,Shader 是运行在 GPU 上的小程序,BM 通常读作 benchmark,也就是可以重复、可以比较的跑分。它不画由三角形组成的模型,而是在片元着色器里用公式描述一个 Mandelbulb 分形:每个像素沿视线发射射线,逐步采样三维距离场,找到表面后再计算法线与颜色。每帧要对上百万像素重复这套计算,主要压测浮点运算与显存带宽,因此不同显卡、不同手机芯片之间的差距会被明显放大。本站沿用开源项目的原始着色器,把渲染分辨率固定为 1920×1080,迭代次数设为 5,用 70 秒标准时长逐帧记录帧时间,剔除头尾各 5 秒,最后给出平均 FPS、1% Low、最低 FPS 与帧率曲线。它测的是这个浏览器负载下的渲染表现,不读取温度、功耗或硬件健康状态。
这个测试最早是 GitHub 开发者 cznull 发布在 GitHub Pages 上的技术 Demo,原版入口是 cznull.github.io/vsbm;多个第三方资料与百科词条都把 cznull 记为原始 Demo 的发布者,官方 FAQ 里也专门列了「cznull 与 Volume Shader BM 的关系」这一问题。公开资料没有给出确切首发日期,也没有公布官方版本号,这里不做推测。能确定的是,它先在 PC 硬件圈流传,后来因为画面像一朵不停旋转的彩色蘑菇、几十秒就能看出设备有没有达到标称性能,在 TikTok、Instagram 与中文短视频社区走红,中文用户叫它「毒蘑菇测试」或「毒蘑菇性能测试」,也常拿来给新手机和二手显卡做初步验机。现在 volumeshaderbm.com 提供网页测试、免费的 Android 与 iOS 应用、可选的匿名成绩分享与多个榜单;同一个着色器还衍生出一批站点,各自加入复杂度预设、WebGL2 / WebGPU 支持与数据质量说明。本站是独立社区项目,不是官网,也不属于原作者,只保留原始渲染内核并补上统一参数与稳定区间结算,让不同设备能在同一条件下对比。
测试提供四档预设,从轻到重依次是 Simple(分形迭代 2 次 × 光线步进上限 250 步)、Standard(迭代 5 次 × 1002 步)、Advanced(迭代 7 次 × 1500 步)与 Extreme(迭代 9 次 × 2000 步)。默认的 Standard 档与经典原版 Volume Shader BM 参数完全一致,成绩可以直接对比;四档共用同一套固定常量(求交精修 SOLVER 与 MAXR 各 8 次、步长 0.002、相机距离 1.6),切档只改迭代次数与步进上限这两个核心参数,负载轻重随之变化。
VolumeShader BM是一个围绕高计算量分形体积着色场景构建的 GPU 压力与性能基准测试。用大白话说:它让显卡在浏览器里一帧一帧地画出一朵由数学公式生成的「毒蘑菇」,画得越快、越稳,分数就越高。浏览器实时渲染可重复的光线步进场景,我们记录逐帧帧时间,在剔除启动与收尾波动后计算平均帧率、1% Low 与稳定性。 查看原项目 ↗
每个像素都要执行密集的浮点运算与光线步进采样,让不同 GPU 的计算能力差异变得可见。
01 for (float i = 0.0; i < STEPS; i++) 02 vec3 p = origin + ray * depth; 03 density += sampleVolume(p); 04 depth += STEP_SIZE; 05
沿视线对 Mandelbulb 类分形距离场采样,构成高计算量、可重复的负载。
每像素顺序执行大量采样与二分求交,放大 GPU 之间的算力差异。
通过浏览器原生图形 API 直接调用 GPU,无需插件或安装。
记录帧间隔与 GPU 耗时,结算平均帧率、1% Low 与波动情况。
下表按正文从上到下的出现顺序整理,与测试代码逐项对应。
| 名词 | 解释 | 在测试中的作用 |
|---|---|---|
| 体积着色器(Volume Shader) | 在片元着色器里逐像素运行、用公式描述整个三维场景的 GPU 程序。 | 测试的全部计算负载都来自它。 |
| Ray Marching(光线步进) | 沿视线逐点采样体积,直到命中表面。 | 把每个像素变成长串计算,放大 GPU 之间的差异。 |
| 帧时间 / FPS | 单帧耗时与每秒帧数。 | 核心成绩指标,逐帧记录。 |
| 1% Low | 最差 1% 帧的平均帧时间换算成的帧率。 | 反映卡顿与运行稳定性。 |
| STEPS(最大步进数) | 每像素光线步进的上限,标准参数为 1002。 | 与分形迭代次数一起决定单像素计算量。 |
| STEP_SIZE(步长) | 每次步进的跨度,固定为 0.002。 | 固定后各设备采样密度一致,成绩才可比。 |
| Mandelbulb 分形 / 距离场 | 用公式定义的三维分形,返回近似距离。 | 提供可重复、无需资源文件的高复杂度场景。 |
| iterations(分形迭代次数) | 每次采样中 Mandelbulb 公式的迭代次数,标准参数为 5。 | 单像素计算量的第二个来源,与 STEPS 搭配。 |
| SOLVER / MAXR(求交精修) | 命中表面后二分 8 次,极值搜索也是 8 次。 | 提高成像精度,本身也是负载的一部分。 |
| WebGL(本站为 WebGL1) | 浏览器调用 GPU 的图形接口。 | 网页无需插件即可驱动 GPU 渲染。 |
| gpu_ms(GPU 帧时间) | gl.finish() 前后的耗时,即纯渲染时间。 | 判断成绩是否被屏幕刷新率封顶。 |
无需手动选择设备类型。我们自动检测环境并记录设备信息,套用统一参数,剩下的交给测量。
在线测试工具的三个特点,都围绕「打开网页就能跑」这件事。
打开页面就能跑,完整测试与结算都在浏览器本地完成。
台式机、笔记本、手机与平板都能运行,默认使用同一套标准参数。
因为是浏览器测试,Windows、macOS、Android、iOS 不同平台的硬件设备都能用同一套参数跑分,结果可以直接对比。
用快速、可重复的方式,检查那些真正在意的性能变化。
刚装上一张新卡,先跑一次标准模式,看平均帧率是否落在同型号常见的区间。比如把成绩与朋友同型号机器对照,差距明显时再检查驱动和供电。它不能证明显卡真假,但能很快提示这台机器是不是哪里没设置好。跑之前记得关掉其他占用 GPU 的程序。
新装完机器后,连续高负载能暴露散热、供电或驱动层面的隐患。比如刚装好就跑满 70 秒,观察帧率曲线是否从头到尾平稳、有没有突然掉帧。如果后半段明显下滑,多半是温度上来后降频,可以先检查风道与硅脂。测试期间不要同时开着游戏或视频转码。
调整核心频率、电压或功耗墙之后,用同一套参数各跑一次,比较平均帧率和 1% Low。比如超频前 48 FPS、超频后 53 FPS,但 1% Low 从 40 掉到 28,说明峰值变高了却更容易卡顿。这种对照比只看一个最高帧率更有用。每次改动只调一项,才能判断是哪一步带来的变化。
同一张移动版显卡,在不同电源模式、不同散热条件下表现可以差很多。比如插电跑一次、拔电再跑一次,平均帧率若明显下降,通常是功耗策略而不是显卡本身的问题。也可以对比清灰前后,看持续负载下是否还会逐步降频。测试时把笔记本放平,别堵住进风口。
买二手显卡前,让卖家在同样的浏览器和参数下跑一次,看画面有没有花屏、色块或驱动崩溃。比如连续两轮都出现条纹,就值得进一步排查显存;帧率明显低于同型号也要多问一句使用历史。跑分低只能当作线索,不能单独当作假卡或矿卡的证据。真要下结论还需要更完整的专业检测。
驱动、浏览器版本和硬件加速开关都会影响 WebGL 表现。比如更新显卡驱动后成绩掉了 10%,先在旧版本与新版各跑一次确认,而不是立刻回滚。浏览器升级、开启或关闭硬件加速之后也值得各测一次。记录每次的参数版本和环境信息,前后对比才有意义。
ⓘ 本工具仅供参考,不能替代专业测试与硬件诊断。
想知道自己的分数处在什么水平?下面按 PC、安卓、苹果三类,各取标准档平均 FPS 前三名,作为对照的参考锚点。
以下成绩均使用标准档:分形迭代 5 次、光线步进上限 1002 步,求交精修 SOLVER 与 MAXR 各 8 次、步长固定 0.002,也就是经典原版 Volume Shader BM 的参数。成绩数据来自网络公开数据,与本项目排行榜相互独立;受样本数量与厂商驱动优化影响,成绩随时间可能变化,部分设备可能未上榜,仅供参考。
| 排名 | 设备 / GPU | 平均 FPS | 中位数 | 最佳 | 样本 |
|---|---|---|---|---|---|
| 1 | NVIDIA GeForce RTX 5090 | 197.4 | 149.9 | 538.4 | 16 |
| 2 | NVIDIA GeForce RTX 5080 | 143.4 | 110.1 | 401.2 | 181 |
| 3 | AMD Radeon RX 7900 XT | 140.2 | 122.7 | 211.1 | 7 |
| 排名 | 设备 / GPU | 平均 FPS | 中位数 | 最佳 | 样本 |
|---|---|---|---|---|---|
| 1 | Adreno 650骁龙 865 / 870 | 27.0 | 32.8 | 33.8 | 12 |
| 2 | Xclipse 960Exynos 2400 | 4.0 | 4.2 | 10.0 | 51 |
| 3 | Xclipse 540Exynos 1480 | 3.8 | 1.0 | 60.3 | 40 |
| 排名 | 设备 / GPU | 平均 FPS | 中位数 | 最佳 | 样本 |
|---|---|---|---|---|---|
| 1 | Apple M5 GPU | 4.5 | 3.9 | 60.8 | 96 |
| 2 | Apple A20 Pro GPU | 3.4 | 3.2 | 9.6 | 400 |
| 3 | Apple M4 GPU | 2.7 | 2.9 | 4.8 | 94 |
同样是给显卡跑分,不同工具的原理、负载和适用场景差别很大。下表把 VolumeShader_BM 和五款常见 GPU 测试工具放进同一张表,再配上核心差异总结,方便按需选择。
按各工具官方公开资料整理,版本迭代较快,具体支持平台以官方页面为准。核心差异在两点:安装与便捷度上,VolumeShader_BM 最大的优势是零安装、打开即测,直接在浏览器里运行,传统工具(如 3DMark、FurMark)通常需要下载客户端,甚至占用较大的硬盘空间;测试侧重点上,毒蘑菇偏向浮点与三角函数、分形体积渲染的轻量到中度压力,对移动端芯片(手机 GPU)和浏览器的 WebGL 调度极其敏感,FurMark 是纯粹的烤机/功耗极限测试,用来把显卡拉到 100% TDP 看温度与会不会掉频,3DMark 是最全面的游戏向性能模拟,涵盖光线追踪和现代图形 API,Blender Benchmark 面向生产力与 3D 渲染,对显存容量(如 12GB、16GB、24GB)极其看重。
| 测试工具 | 运行平台 | 核心测试原理与负载类型 | 主要测试指标 | 典型适用场景 |
|---|---|---|---|---|
VolumeShader_BM毒蘑菇测试 | 浏览器(WebGL),官方另提供 Android / iOS App | 基于 Ray Marching(曼德尔球分形)算法渲染 3D 体积着色器 | 平均 FPS、实时帧率、1% Low、最低 FPS、帧率曲线 | 跨平台快速跑分、手机/轻薄本 GPU 算力对比、热衰减/卡顿检测 |
3DMark行业标准 | Windows、Android、iOS | 模拟真实 3D 游戏引擎场景(支持 DirectX 12、Vulkan、光追、DLSS/FSR) | 综合得分(Graphics Score)、物理/CPU 分、帧率曲线 | PC 游戏显卡性能评估、超频前后对比、买新卡/验机权威跑分 |
FurMark甜甜圈 / 烤机神器 | Windows(OpenGL) | 极端的毛发/环形曲面 OpenGL 渲染,制造满载高功耗负荷 | GPU 核心温度、显存温度、功耗百分比、实时/平均 FPS、过热报警 | 显卡极限烤机压力测试、散热性能验证、功耗与供电稳定性检测 |
Unigine Superposition | Windows、Linux | 高精度、极度复杂的真实感 3D 场景漫游与着色器渲染 | 极端渲染 FPS、最低/最高帧、VR 模式评分、GPU 温度 | 极端负载压榨、显卡超频极限测试、VR 性能评估 |
Blender Benchmark | Windows、macOS、Linux | 基于真实 3D 软件 Blender 的 Cycles / Eevee 渲染引擎(Path Tracing / 体积光) | 场景渲染耗时(samples/min 或总渲染时间秒数) | 3D 艺术家、影视后期、渲染/AI 工作站选卡(重点看显存容量与 CUDA/OptiX 算力) |
Geekbench 6GPU 计算分 | Windows、macOS、Linux、iOS、Android | 综合 OpenCL / Metal / Vulkan 基础图形计算与通用 API 测试 | OpenCL / Metal / Vulkan 算力分数 | 快速评估异构计算、GPU 通用计算能力及跨设备大致定位 |
不需要安装,测试完全在现代浏览器的 WebGL 中运行,无需下载、扩展或账号。开测前会在本地记录显卡渲染器字符串、浏览器与系统版本、分辨率、刷新率等设备信息,仅用于展示与对比,不会作为测试数据上传。站点本身使用第三方统计服务记录访问情况,范围写在隐私政策里;关闭统计不影响测试使用。
台式机、笔记本、手机和平板都可以运行,要求是浏览器支持 WebGL 并开启硬件加速,推荐使用 Chrome、Edge、Firefox 或 Safari 的最新版本。移动设备建议横屏、连接电源并保持屏幕常亮;设备较旧或发热明显时,可以先从负载最轻的 Simple 档开始。
测试会产生类似大型游戏的持续图形负载,设备可能发热、风扇加速。可以随时退出。若温度过高请停止测试。
电源模式、散热、后台程序、硬件加速、驱动版本以及屏幕刷新率都会影响结果。请尽量接电源、关闭占用 GPU 的程序并保持标签页在前台。
启动时有着色器编译、驱动加载与 GPU 频率爬升,临近结束时容易出现调度与收尾干扰。因此固定剔除前 5 秒与后 5 秒,只取中间 60 秒的稳定区间结算。
会。浏览器帧率受屏幕刷新率限制,高刷屏与 60Hz 屏的天花板不同。我们会记录刷新率,并对疑似被封顶的成绩给出标记。
1% Low 取最慢 1% 帧的平均帧时间换算帧率,反映持续卡顿;最低 FPS 是单帧最慢值,容易受偶发事件影响,仅作参考。
更新浏览器、开启硬件加速并检查显卡驱动。测试页会在开始前检测环境并给出提示。
画面是一个色彩鲜艳、形状像蘑菇的三维分形,中文社区就把它叫成毒蘑菇测试,全称常写作毒蘑菇性能测试;英文讨论里偶尔会按字面直译成 "Poisonous mushrooms test",指的都是同一个测试。它和 VolumeShader_BM、volumeshader_bm、VSBM 是同一个东西,本站沿用开源的分形着色器实现,渲染内核没有改动。
70 秒,无需安装。测试与结算都在浏览器本地完成。
正在检测是否符合测试条件…
以上信息仅在本地使用,不会作为测试数据上传。
测试会产生持续图形负载,设备可能发热;手机建议接电源并保持前台。
检测到软件渲染,性能参考价值有限,成绩不会计入排名。
浏览器无法创建 WebGL 上下文。请更新浏览器、开启硬件加速并检查显卡驱动后重试。