gpu服务器性能测试用例,WebGPU性能测试分析

本文对比分析了WebGPU与WebGL在渲染和计算性能上的差异。测试结果显示,WebGPU在渲染性能上比WebGL快3倍以上,计算性能上快50倍以上。通过CPU耗时和FPS性能测试,揭示了WebGPU的绘制缓存和计算着色器如何大幅提升性能。
摘要由CSDN通过智能技术生成

eff3ca60f79f4e9fb460198577813511.jpg

大家好,本文对WebGPU进行性能测试和分析,目的是为了对比WebGL和WebGPU在“渲染”和“计算”两个维度的性能差异,具体表现为CPU性能和FPS性能两个方面的性能数据差异。

我们会分别在苹果笔记本和配备RTX显卡的台式机上,对WebGL和WebGPU分别进行性能测试。

本文对于WebGPU使用了“reuse render command buffer”和“dynamic uniform buffer offset”两种优化,相关介绍可以参考WebGPU学习(十一):学习两个优化:“reuse render command buffer”和“dynamic uniform buffer offset”。

本文只使用了WebGPU的基础能力,还没有使用更高级的特性(如draw indirect、多线程渲染等),所以理论上WebGPU相比WebGL的性能优势还可以进一步地扩大。

测试的代码

测试的代码在Github上

测试结论

这里先给出最后的测试结论:

在“渲染”性能上,WebGPU比WebGL快3倍以上

在“计算”性能上,WebGPU比WebGL快50倍以上

测试环境

设备一:13“MacBook M1 Pro

操作系统:Mac OS Big Sur

设备二:配备RTX显卡的台式机(i7-4790+ RTX 2060 Super)

操作系统:Win10 64位

WebGL运行的浏览器:Chrome(版本 91.0.4472.114(正式版本))

WebGPU运行的浏览器:Chrome Canary(v93.0)

测试“渲染”的性能

场景描述

该场景的设计思路为:

在固定分辨率的屏幕当中,用WebGL和WebGPU去渲染相同个数的固定大小的三角形,三角形个数从小到大进行递增,三角形颜色都为随机的灰度颜色;

每一帧提交对应三角形个数的DrawCall进行重绘(一个三角形对应一次DrawCall)(这里的每个三角形可看为场景中的一个物体。实际场景中的物体通常由几百上千个三角形组成,但是此处为了简化和突出性能测试的重点,所以一个物体只由一个三角形组成)。

为了能更好的体现重绘的效果,我们在距离+Z轴方向(指向屏幕的方向)的最近的1000个三角形中,随机选取了100个,进行Z轴方向的移动,表现效果为三角形的闪烁。这也符合实际的渲染场景中的情况:大部分物体并不是在每一帧都进行数据改变,只有部分会发生数据变化(这个场景中体现为三角形在Z轴方向的位置移动)。

具体的场景效果如下图:

970cba6c6a7446e19d0f826131e7cf17.jpg

渲染场景

结果分析

1)硬件环境为13”MacBook M1:

影响CPU性能的因素: CPU传递DrawCall时间

WebGL:5000个DrawCall命令以内时,CPU在10ms以内可以将其全部发送给GPU进行绘制。可以看出CPU并没有进行等待,原因是GPU在绘制5000个DrawCall命令以内时,完成速度很高,并不需要CPU等待。但是超过5000个DrawCall命令时,CPU的耗时明显增加

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
1 页 Edit by Joson https://www.baidu.com/p/happy_Joson Stree_GPU 压力测试 一、测试介绍 常搞服务器测试的,会有很多测试工具,比如测试硬盘的 iometer,网络测 试的有 IxChariot,IPfer,测试内存的有 stree,整机压力测试 HPC_Breakin 等,但 整机测试 GPU 或是显卡的工具就比较少,专业的测试是必须要有的。 很多个人或是公司买了 GPU 服务器,显卡回来,安装上去后,不知道如 何整机测试,怎么压力测试,怎么检测是否有问题,做开发设计的怎么测试主板 是否有 bug,整机散热调优方案,功耗测试等,通过使使用 stree_GPU 工具,可 以使 GPU/显卡发挥 90%以上的性能,从而发现存在的隐患。 直接介绍一套简单的测试工具 Stree_GPU, 适合在 windows 7,win8,win10,2008 R2 等 windows 系统下测试的。 2 页 Edit by Joson https://www.baidu.com/p/happy_Joson 1、 准备工作环境 你的机器安装上显卡/GPU 卡后,然后再安装上述的操作系统,机器需要连外 网才能使用 Stree_GPU 测试。但它不占用外网资源。 2、安装驱动 这个不用我说了,你电脑上驱动都要安装,GPU/显卡一般是基于 NVIDIA 芯 片开发的,驱动一般直接到它官网上下载,或是安装个驱动人生,然后让它帮你 全部安装完驱动,省事^_^ 二、 测试工具使用介绍 1、Stree_GPU 工具使用介绍,此 stree_GPU 软件适用 windows 系统下 GPU/显卡专业测试工具 stree_GPU 测试工具下载: https://pan.baidu.com/s/1PnxbcIQvM9Y4YtVude7WNg 2、首先你的机器在 windows 下环境配置好,即显卡驱动要安装上,可以在 NVIDIA 官网下载 cuda 程序安装,能识别到你的显卡并能调休; 3、确保你测试的机器连通外网,因为测试时要模拟卡的压力(算力) ; 4、把 Stree_GPU 程序解压后拷贝到如 c 盘根目录下,路径不要有中文; 5、解压后在 Stree_GPU 目录里,右键以管理员权限运行 stree_GPU.bat 注意观察,如果执行之后屏幕上没有提示错误提示,没有红色的提示,则表示 开始跑起来了,过一会才会有结果,比如会提示有 GPU0:xxxMh/s,这里只要有 数字出现就表示成功了,如果有多张卡,这里会列出来有 GPU0,GPU1…..。如下 3 页 Edit by Joson https://www.baidu.com/p/happy_Joson 图所示 机器测试压力程序已经跑起来了,那么就可以在功耗仪上读取电压,电流,功耗 数值,如下图所示。 同时可以通过 BMC 管理界面,或是第三方的一些软件,可以监控到机器的各个 部件温度曲线的变化。测试时间越长,如果曲线波动不大,说明机器散热良好。 4 页 Edit by Joson https://www.baidu.com/p/happy_Joson 注意事项: 因为压力测试,注意机器的散热。风扇调全速转。机器跑起来了,此时可以测试 整机的功耗,散热、主板的供电,整机供电等等,一般测试时长 24H,这样可以 检验整机及部件稳定性等。这是最简单但最有效果的测试 GPU/显卡方案。 另外需要注意的是,机器要保持连接外网,并且测试过程不要断开网络,否则测 试不能进行。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值