如果不考虑三维引擎的性能参数,在数字孪生系统行业落地时,往往沦落为可视化系统、花瓶、数据看板和好看的汇报系统。而高并发和高性能渲染,在数字孪生平台应用中就像鱼和熊掌一样不能兼得。
数字孪生系统平台行业落地时通常要考虑选择那种三维引擎,而三维引擎(或GIS引擎)的系统性能决定数字孪生平台建设的系统性能和功能。
以下是三维引擎通常要考虑的主要性能参数:
- 并发数量。是指每秒钟的并发访问数量,要求支持PC、平板、手机多终端访问,支持APP、小程序、HTML5访问。单台服务器支持高精度本地三维渲染(云渲染+PC端GPU渲染)并发访问数不小于500,WebGL三维渲染访问并发用户数不受限制,2D/2.5D访问并发数量不受限制。
- 渲染质量。渲染质量可分为高质量渲染(服务器/PC本地GPU渲染)、中等质量渲染(视频流或像素流渲染)、低质量渲染(WebGL渲染)。
- 国产化部署环境。包括国产CPU、GPU、操作系统、数据库等。
- 主流浏览器。支持Chrome、Edge、Firefox等主流浏览器访问。
- 数据传输协议。支持http、https、WebSocket等标准网络数据传输协议。
- 渲染材质。支持基于物理的渲染效果,支持PBR材质。
- ......
本文探讨数字孪生行业落地最重要的两个性能参数:高并发和高性能渲染。
一、高并发
什么情况下需要高并发是我们要考虑的第一个问题。
在公安、应急、水利、交通、安保、建筑智能化等传统应用中,因为安全管理、保密需要,通常数字孪生的访问用户会限定为1个或者2个。在1-2个并发需要的情况下,数字孪生平台会采用C/S架构的方式进行开发(以UE引擎为代表,如51World公司就采用这种方式)。通过服务器或者PC自带的GPU进行高性能渲染,然后呈现在监控中心大屏上。这样的系统很容易做成大数据看板、三维可视化、指挥舱、领导驾驶舱,需要专业人员才可以操作。通常会变成一个花瓶应用、汇报应用。因不支持高并发访问,造成只能1-2人访问,大大限制了数字孪生系统的效果。这就是广大网友、用户吐槽最多的地方。
还有一些行业用户,比如高等院校学校,会建设数字孪生校园。数字孪生校园要面向全体师生提供访问服务,要求能够通过互联网访问,不要限制访问方式,而且并发数量在校园迎新和校庆场景超过5000个。典型的校园数字孪生并发要求如下:
- 支持多类型手机终端访问。最多访问数字孪生平台的人是学生,我们不能限制学生手机的型号,要求平台同时支持各种尺寸安卓手机、苹果手机的访问。
- 高质量渲染(服务器/PC本地GPU渲染)支持不低于200路并发访问。主要为总控中心、分控中心、管理者、二级学院、拥有权限的师生访问。学校需要为每位访问者配置带GPU卡的高性能计算机专用终端。
- 中等质量渲染(视频流或像素流渲染)支持不低于20路并发访问。主要为领导、重要客人、校友、管理者提供便捷的三维访问服务。这种访问方式因为采用视频推流的方式,对访问者的终端设备没有限制和性能要求。
- 低质量渲染(WebGL渲染)并发路数不受限制。采用WebGL渲染方式不限制访问用户数,由终端浏览器进行渲染,没有终端性能要求,电脑、平板、手机均可访问。如果是2D模型/2.5D模型访问用户数也不受限制。
为了满足高渲染高并发,就需要三维引擎支持分布式集群架构,数据服务可进行分布式部署。为高质量渲染、中等质量渲染提供服务。要求视频流的高并发支持鼠标、键盘空间浏览等反向操作。
高并发带来另外一个问题,如何提供高质量渲染服务?如果不解决高并发高精度渲染两大难题,数字孪生系统往往就会沦陷,陷入好看不中用的境地。
二、高性能渲染
我们需要什么等级的渲染质量,是第二个问题。
业界主流的渲染方式有三种:GPU渲染、视频流渲染和WebGL渲染。
1.GPU渲染
就是通过服务器或计算机自带的GPU进行三维渲染。这种渲染要么需要客户端程序或者安装可执行程序,加载GPU后台渲染服务。这种方式的渲染效果即为高质量渲染,缺点是必须采用自带GPU(通常三维引擎会限定型号和指标参数,有最低推荐配置要求)的设备才能支持。采用GPU渲染这种方式,后端部署的服务器单台支持的并发数量业界的主流水平在500路左右。
2.视频流/像素流渲染
就是三维引擎通过WebAssembly + WebGL技术支持视频流云端渲染模式,实现无插件浏览,通常需要安装可执行exe文件。业界最大的游戏引擎UE(虚幻引擎)支持的是像素流送技术。以笔者的理解,不论是视频流还是像素流本质都是一样。我们知道即使使用高性能的图形工作站渲染三维效果图也做不到秒级,而视频流的渲染要做到每秒25帧甚至更高,即要求服务器每秒钟渲染25张以上的三维照片到访问终端,所以视频流的渲染方式通常是1080P的分辨率,和GPU直接渲染4K的效果大打折扣。经过有关人士的专业测试Nvidia A系列显卡的渲染性能参考如下(1080P/H.264视频流):
- RTX A6000,单显卡支持7~8路并发
- RTX A4000,单显卡支持4~5路并发
- RTX A2000,单显卡支持2~3路并发
- RTX A1000,单显卡支持1~2路并发
也就是说,如果要支持超过10路的视频流渲染就需要配置多台服务器,形成分布式架构部署,而这样的服务器配置动辄10万+的成本。这也是为什么类似UE虚幻引擎不支持高并发的原因,也是类UE引擎不适合数字孪生系统尤其是数字孪生校园建设需要考虑的原因。
3.WebGL渲染
采用浏览器封装的能力进行WebGL渲染,对GPU和终端的要求不高,渲染的质量较GPU和视频流为差,即低质量渲染。WebGL渲染有个重要的因素要考虑,那就是WebGL三维引擎支不支持PBR材质(高动态光照、材质系统、光照渲染、阴影渲染、光照增强)。有的三维引擎(如three.js、CESIUM)WebGL渲染支持PBR材质、有的三维引擎则不支持PBR材质(如Thing.js,根据官网描述)。
市场上也有公司实现一次WebGL开发可以实现UE引擎的二次部署,这样在UE高质量渲染并发数量超出的时候,自动切换为WebGL的访问方式,如捷码引擎。
如何不让数字孪生系统形成摆设、花瓶,成为三维可视化、数据大屏,首先要解决不要陷入高并发和高性能渲染的困境,然后才能有真正可用的数字孪生系统。更何况物理世界可以移动的目标主要是人、车和可移动物体,数字孪生世界里面还必须有数字人、数字车和可移动的物,这里还没有考虑,让问题变得更为复杂。