不用安装软件也能用网页测显卡?WebGL水族馆用浏览器养鱼

说到测显卡性能,大家第一个想到的一定是3DMark或是跑游戏。其实现在测显卡也可以不用装软件,只要有浏览器,不管在任何平台几乎都能通过WebGL来显示2D及3D图像,或者是用它来运行游戏。最近在手机的测试上,就很流行“你的手机能养几条鱼”,通过虚拟的3D水族馆来看看浏览器运行WebGL的性能是如何。

一开始要先正名一下。与其说是测显卡,“测试浏览器的GPU操作能力及能使用的GPU性能”会来得更精准一些。怎么个测法呢?websamples.org这个网页提供了不少范例可以直接在浏览器上执行,“Aquarium”就是网页中的一个项目,它甚至可以“跨屏幕、跨机器”创建起一个3D水族馆,让你决定要打开或关闭哪些光影特效,以及最重要的:要养几条鱼,来看看计算机的整体性能是否能有效承载。如果有好几台投影机跟显示屏幕,甚至还能营造一个以假乱真的大水池,让人以为自己置身在海生馆呢!

测试的方式也很简单,打开网页,默认会填满一个1024×1024像素的画面,画面中就是一个养满500条鱼的大水族箱。你可以切换不同的视角,从水族箱的内外看鱼,或者是置身于鱼群里看鱼,调整鱼群的速度及只数等,看看对硬件的性能会产生什么波动。

这是在水族箱外看鱼群,比较没有那么震憾。

拉近看的话,有密集恐惧症的人就要注意了。

更近一点看,还能看到鱼群身上的纹理。

或是当个潜水伕,想象自己在水族箱里打坐放空。

画面左方可以调整光影及明细参数。

画面右方则是调整物理特性,比如让鱼游得跟快艇一样快。

项目官网还有更详细的设置说明,比如鱼的数量、分辨率等。

别以为通过网页来显示的3D画面吃不了多少GPU性能。利用NVIDIA GeForce RTX 3080 10GB来测试,养20,000只鱼时还能有60 fps的表现,25,000只会变成只有50fps,30,000只则剩下40fps,更狠一点调高到100,000只时,fps甚至会掉到个位数。

只是,此测试仍有其限制。打开任务管理器观看,GPU的使用率顶多吃到40%,不管网页里的数值再怎么调,fps再怎么降,就是这个数字。不论它有没有办法优化、或是通过其它做法把GPU吃满,至少都能呈现相关应用对于GPU的控制能力。

不少App其实也是以网页为基底,这会是一个有效的、评估图形或游戏在浏览器中显示性能的做法。毕竟越来越多的应用或游戏都是直接通过浏览器执行,这种做法的性能需要不断地被优化,包括开发的方式,WebGL就扮演着很重要的角色。

webglsamples.org还有不少范例可玩,大多都是3D交互接口。

要让计算机搭建2D或3D图形,尤其是通过GPU硬件加速,OpenGL与DirectX是最常见的两种框架,不少游戏或应用软件都是利用这些框架来显示画面,在图片输出层面搭建图形。DirectX是微软出品,对自家的Windows当然是最友善,至于Linux及Mac OS、手机应用环境,则大多会通过OpenGL来完成。就像Windows通常会自带DirectX最基本的函数库,其它操作系统出厂时也会内置OpenGL的支持,来当作搭建画面的基准。 (当然了,Windows也能使用OpenGL)

通过本机端的应用程序或手机上的App,要调用OpenGL来绘图很方便,OpenGL可以跟GPU直接沟通,所以很轻松的就能发挥GPU的原生性能。换作是网页的话,在十几年前WebGL还没问世时就麻烦得多。WebGL是一个Javascript API,不必通过任何插件就能在现今主流的浏览器上与GPU沟通,利用Javascript与OpenGL自己的语法搭建2D或3D图形,而且还带有交互能力。

只要是对网页编写有点概念的玩家,应该就清楚用Javascript就能画出3D对象是一件有多么酷的事。事实上,不少开发者也提供了一些经过集成的Javascript函数库,比如three.js等,把这件事的门槛再行降低,自己甚至不必写几行程序就能搭建出3D对象,非常方便。

three.js用WebGL实现3D文本的应用,你也可以自己试试。

要在网页上显示3D图形、尤其是动态的3D交互图形有不少做法,通过不同的插件,可以实现的复杂程度也不一。然而,除非是为了显示特殊格式,不然装插件的做法会越来越少见,一来容易影响浏览器性能及稳定性,二来会增加解决方案的开发难度,三来要这么做不如用独立App来处理就好了,何必徒增麻烦。

现在是2021年,网页的开发及应用早就已经从二十年前的“有插件好厉害”演化成了尽可能标准化、跨平台化,不然很容易失去其它应用设备及操作系统的市场,而且二十年前大多数人都还是用IE加Windows上网,如今已不可同日而语。WebGL在某种层面上也得益于HTML5的普及,几大浏览器里面,IE 11是最晚支持的,而这已经是2014年的事儿。

现在网页前端的设计越来越花俏,处理器的显示核心也越来越强,有朝一日3D网页取代2D成为市场新宠也不会让人意外,以后浏览网站可能要靠三维的方向键,而非单纯上下或左右卷动了。这概念绝对不会是天方夜谭,疫情之下不少实体展览或商业活动被迫取消,开发出比传统VR更平易近人的内容呈现做法只是指日可待。