最近在做一个浏览器 GPU 测试网站:WebGPUStress 。
想法比较直接:有时候只是想快速检查一下 GPU 在浏览器里的渲染性能,或者对比修改设置前后的结果,不一定需要安装大型跑分软件。
目前主要做了几类测试:
- GPU Stress Test:通过 WebGL 渲染负载进行压力测试
- GPU Stability Test:观察持续负载下的 FPS 变化
- Shader Test:使用不同复杂度的 Shader 测试渲染表现
- WebGPU Test:检测 WebGPU API 、设备、Shader 和计算功能是否正常
- FPS Test:检查浏览器动画帧率和帧间隔
- GPU Detector:查看浏览器能够获取到的 GPU 信息 压力测试主要关注这些指标:
- Average FPS
- 1% Low FPS
- Frame Time Stability
- Drop Frame Ratio 测试参数可以调整,包括分辨率、画质、持续时间和目标 FPS 。
完成测试后可以把结果保存在浏览器本地,用于后续对比。
这里有个容易产生误解的地方:网站虽然叫 WebGPUStress ,但目前主要的持续压力测试使用 WebGL ,WebGPU 页面则更多用于兼容性和执行能力验证,两者并不是同一种测试。
另外,浏览器拿不到可靠的 GPU 温度、功耗和核心频率,所以不能仅凭 FPS 下降就判断显卡过热,也不能用一次浏览器测试证明整机稳定。
目前比较想听听大家对测试方法的看法:
- 浏览器 GPU 压测,除了 FPS 、1% Low 和帧时间,还有哪些值得加入的指标?
- 不同浏览器、刷新率以及后台标签页节流,对测试结果影响不小,大家一般怎么处理可重复性?
- 你们会用这种轻量级浏览器测试,还是只信任 3DMark 、FurMark 之类的原生工具? 如果有做 WebGL 、WebGPU 或图形性能相关开发的 V 友,也欢迎交流。