一个不到 500 行代码的纯网页,没有后端、没有数据库、没有框架——
却成了全网最火的 GPU 性能基准测试工具。
如果你最近刷 B 站、抖音或者小红书,大概率见过这样一幕:一个绚丽的 3D 蘑菇在屏幕上旋转,弹幕飘过「显卡冒烟了」「轻薄本直接去世」……
不需要下载安装任何软件。打开浏览器,输入网址 cznull.github.io/vsbm,回车即开始。无论 Windows、Mac、Linux,还是手机、平板,只要能上网就能跑。
底层用的是 WebGL —— 浏览器内置的 GPU 编程接口,相当于在网页里跑了一个微型 3D 渲染引擎。
它不是传统跑分软件(不会给你一个冰冷的数字),而是通过实时渲染一个极其复杂的 3D 分形图形来考验你设备的 GPU 计算能力。
画面流畅丝滑 → 性能很🐂;画面卡成 PPT → 该换电脑了(或者该清灰了)。
不需要懂技术。拖拽旋转画面,感受流畅度,观察色彩过渡是否平滑——这些就是最直观的性能指标。
更有意思的是,很多人的设备跑着跑着就开始降频(过热保护),画面从流畅变卡顿,这在游戏场景中就是掉帧的元凶。
「与其说是测试工具,不如说是一个让 GPU 做俯卧撑的网页。」
一个听起来像植物科普的名字,居然成了显卡测试的代名词——这背后是一个巧妙的双关。
测试页面渲染的是一个 Mandelbulb(曼德尔球),这是 Mandelbrot 集合的 3D 扩展——一种数学意义上的分形几何体。8 次幂的 Mandelbulb 在视觉上呈现出层层叠叠的球状结构,顶部膨大、底部收缩,酷似一朵发光的蘑菇,也有人觉得像花椰菜。
渲染这个分形需要海量计算:每帧要对 超过 100 万像素 各自执行数百次三角函数运算(atan、acos、sin、cos、pow)。性能不足的设备运行这个网页会出现严重卡顿、掉帧,甚至浏览器直接崩溃。
就像吃了毒蘑菇会让身体不适一样,打开这个网页也会让你的设备「中毒」——只不过中毒的是 GPU 而非肠胃。网友戏称:「毒蘑菇测试,轻薄本的禁区」。
从一个技术宅的个人项目到全网现象级话题,背后是完美的社交传播公式。
不需要注册账号、不需要安装 APP、不需要下载几百 MB 的跑分软件。一个链接发到群里,点开就能立刻开始——这种「即点即用」的体验是传播的第一驱动力。而传统跑分工具(如 3DMark、FurMark)动辄几个 GB 的安装包,天然有传播壁垒。
画面流畅还是卡顿?看一眼就知道。这种视觉化的结果天然激发了用户的比较心理:我的手机 vs 朋友的手机、我的笔记本 vs 台式机、独立显卡 vs 集成显卡。每个人测完都想看看别人跑出来是什么效果。
「我的 GPU 炸了」「轻薄本慎入」「建议把毒蘑菇列为硬件质检标准」——这些带有情绪和幽默感的分享内容天然适合在社交平台传播。它不是冷冰冰的跑分数字,而是一段有故事性的体验。
很多人的认知还停留在「网页 = 文字 + 图片」。一个网页居然能让电脑的 GPU 满负载运行、甚至发热降频?这种认知冲击本身就是极好的传播素材。再加上 3D 分形的视觉效果天然吸睛,视频播放量轻松破百万。
不需要编程基础,只需要理解四个关键环节——这就是 500 行代码背后的全部秘密。
传统网页只能做简单的文字和图片渲染。但 WebGL 给了网页「超能力」——它可以像 3D 游戏一样,直接调用你电脑的独立显卡来做大规模并行计算。
💡 GPU 和 CPU 的区别:CPU 像数学博士,一次算一道难题但算得快;GPU 像一万个小学生,能同时算一万道简单题。毒蘑菇测试就是给这一万个小学生每人发一堆三角函数作业。
传统 3D 游戏用三角形拼出模型(你玩的所有 3A 大作都是这么干的)。但毒蘑菇测试用的是另一种方法:Ray Marching(光线步进)。
想象你蒙着眼睛走进一个黑暗的房间,伸出双手一步步向前摸索。每走一步你问自己:「撞到墙了吗?」直到摸到墙壁为止——这就是 Ray Marching 的核心思想。对于 1024×1024 的画面,每条光线要走最多 1000 步才能确定是否碰到了分形表面。
Mandelbulb 是一种 3D 分形——由数学公式反复迭代生成的自相似结构。它的核心逻辑极其简洁:
毒蘑菇测试之所以能成为硬件质检员,靠的是三个设计:
requestAnimationFrame 驱动,每 16ms 就要完成一帧,GPU 永远在干活。
这行代码告诉 GPU:「不等你偷懒,必须把所有活干完再继续。」没有缓冲余地。
GLSL 着色器声明 precision highp float,强制走 GPU 的高精度计算路径,性能开销更大。
下面是一个简化版的 Mandelbulb 分形——低分辨率低迭代,纯原理演示。
⚠️ 计算量差距约 100 倍。真正的毒蘑菇测试能把高端显卡都跑冒烟。