图片在线制作网站,店铺推广方式有哪些,注册服务器网站哪个好,全国app开发// 编者按#xff1a;云计算与网络基础设施发展为云端渲染提供了更好的发展机会#xff0c;华为云随之长期在自研图形渲染引擎、工业领域渲染和AI加速渲染三大方向进行云渲染方面的探索与研究。本次LiveVideoStackCon 2023上海站邀请了来自华为云的陈普#xff0c;为大家分… // 编者按云计算与网络基础设施发展为云端渲染提供了更好的发展机会华为云随之长期在自研图形渲染引擎、工业领域渲染和AI加速渲染三大方向进行云渲染方面的探索与研究。本次LiveVideoStackCon 2023上海站邀请了来自华为云的陈普为大家分享云渲染在垂直场景的一些应用。 文/陈普 整理/LiveVideoStack 大家下午好今天非常荣幸和大家进行分享交流本次分享的主题为华为云渲染实践——从2D图形到3D空间。 本人于2005年加入华为公司自2007年至今曾先后负责华为云计算、自研桌面云和人工智能等技术的研发工作目前正致力于华为云渲染服务的研发。 本次分享分为以下几部分首先介绍渲染技术的范围和云渲染希望解决的问题其次介绍华为云渲染在2D、3D和云原生渲染方面的一些实践再到工业图像和AI加速渲染方面的实践。 -01- 渲染技术的范围 提到云渲染大家可能会直接联想到云游戏实际上二者并不等同。华为云致力于将渲染技术应用于各个行业目前主要包括实时渲染和离线渲染两大分支实时渲染的落地场景包括虚拟展会、汽车展示、虚拟空间和数字人等等离线渲染更注重逼真的效果主要应用于设计效果图和影视等场景。 -02- 云渲染希望解决的问题 一部分人容易直接将渲染与3D图形划等号因此首先解释一下渲染的概念。百度百科将渲染定义为CG的最后一道工序这个解释偏向于离线渲染。维基和百度百科也曾在浏览器引擎、OpenGL中提及渲染可以看到渲染的对象是包括2D和3D图形的。维基百科对渲染的定义是较为准确它实际上指软件利用二进制和格式化数据生成图像的过程。 我们将云渲染定义为实现客户的图形渲染业务上云整个流程从无图形到2d图形再到3D图形。 我们的现有图像渲染架构如上所示3D技术最下层的GPU到显卡驱动、DX、OpenGL、Vulkan运行库、3D渲染引擎再到3D应用程序直接使用底层API开发图形渲染程序难度较大。 另一条2D应用程序分支主要包含大家常见的Office等PC 2D应用程序从GPU、显卡驱动、微软定义的GDI运行库、GUI框架再到2D应用程序。 -03- 2D渲染实践 接下来介绍我们的云端2D实践。标准的2D图形显示流程如上图所示首先由应用程序调用GUI程序库GUI库转化为底层GDI运行库调用此时运行库还处于用户态没有调用硬件。随后GDI运行库调用显卡驱动显卡驱动调用显卡完成图像渲染并输出至显示器。 那么实现2D应用的远程显示是否只需要将渲染后的画面编码并传输到客户端实际上这种方式存在编码效率低、视频带宽占用大和有损压缩导致颜色失真等缺点并不适用于2D渲染上云。 我们设计的渲染流程是在显卡驱动获取2D图像渲染调用后将图像渲染调用序列转化成数据利用2D渲染指令处理程序对数据进行处理、编码后进行画面无损压缩最终通过网络传输到客户端解码显示。以文字输入为例输入的字符串通过字体驱动转为像素级文字并且只需在屏幕上的小范围更新区域显示传输的数据量不大可以实现无损压缩。以上流程在Windows和Linux平台都有实现方案。 -04- 3D渲染应用上云实践 3D云渲染架构和2D渲染类似。早期由于技术条件限制我们选择使用GPU直通技术将GPU与虚拟机绑定虚拟机可以直接访问GPU获得高性能图形渲染能力再通过远程应用技术将画面传递至客户端。 这种方式的优点是虚拟机可以直接安装设备商的标准显卡驱动保证了兼容性使显卡接近于物理GPU性能。缺点是GPU与虚拟机绑定失去了灵活性并且成本较高。但它目前仍是主流的云上GPU使用方式。 我们于2012年尝试将渲染从云端转到客户端远程完成本质上需要获取用户程序的3D指令流。 按照微软WDDM显卡驱动可以捕获到用户应用程序3D图像渲染的调用。在该架构下驱动程序分为用户态和内核态实现3D程序需要借助Direct运行库它调用设备厂商提供的驱动并通过内核态驱动与GPU进行交互。OpenGL也存在类似程序。 于是我们将全部3D应用程序指令流处理后传输至客户端在客户端重新进行渲染经过50多款游戏测试基本实现了渲染功能。但带宽存在不稳定性实现难度和所需成本都比较高。 2012年我们开始研发软件GPU虚拟化。它的基本原理通过两种虚拟机实现一种是为客户服务的虚拟GPU虚拟机另一种是前述的使用直通技术的物理GPU虚拟机。 我们在虚拟化平台对两种虚拟机构筑了内存通信在虚拟GPU虚拟机安装虚拟显卡驱动利用驱动捕获3D图像驱动调用并利用共享内存传输至物理GPU虚拟机在物理GPU虚拟机中利用直通物理显卡进行渲染渲染后进行画面回传。 这种方式面临的挑战有两种一是由于DirectX具有多种版本驱动兼容实现难度大。二是内部共享内存传输还需进一步加速。存在的缺点是方案本身属于资源抢占模型隔离能力较差其次是对虚拟显卡驱动兼容性研发投入人力非常大。 2013年我们与英伟达合作在虚拟化平台支持硬件GPU虚拟化这种方式可以获得更好的隔离能力和驱动兼容性缺点是Nvidia按照虚拟机单独收取License费用成本较高。 -05- 云原生渲染实践 以上介绍的方案仅是围绕操作系统级别支持的底层图形渲染能力对业务具体场景渗透的不够。从实际业务场景来看华为云渲染的目标是帮助客户图形渲染场景上云离线渲染场景主要服务于影视和高清设计图由此衍生的应用级渲染技术包括AI渲染加速和华为云原生渲染引擎支持的离线光追渲染。 实时渲染场景服务于3D空间、数字孪生、实时设计和游戏等主要分为现有3D应用无需修改直接上云和经过云原生优化后上云两套方案分别包括3D应用实时渲染、云应用以及远程渲染、3D空间加速。 接下来介绍实时渲染场景下的云渲染技术华为云通过提供云应用产品帮助实现现有应用直接上云主要包括对CPU/GPU算力要求较高的3D设计类软件这解决了软件下载安装耗时费力和销售价格昂贵的问题例如CAD、CAE、CAM等设计、建模、仿真软件类软件。 它的原理是利用Windows多会话技术来构建轻量级的隔离技术使Windows Server同时服务多个客户端。它的优点是具备一定隔离能力并且由于在虚拟机层面实现了多会话每个会话都可以直接访问物理GPU。它本身是标准的Windows技术和企业内部网络具备很好的互通性。缺点是GPU计算与显存处于多用户抢占模式无法隔离。并且每个会话要独立付费Windows RDS License。 为了优化前面提到的License成本问题我们通过将沙箱和Hook技术结合让Windows不使用多会话技术运行多个应用并服务于多个接入客户端这也是目前云渲染的主流技术方案。它的优点是不依赖Windows多会话技术降低了License成本缺点是相对于GPU虚拟化资源隔离能力有限。 前面提到过的硬件GPU虚拟化也是一种主要的实现方式但需要增加远程交互模块对3D应用进行管理。它的优势是隔离能力和兼容性好缺点是Nvidia按照虚拟机单独收取License费用。 接下来对几种方案适用的场景进行介绍。选择云应用方案一般涉及强烈的企业内网互通账号、权限和应用兼容性诉求2D、3D各种类型选择3D应用实时渲染一般专注于3D渲染程序如基于DirectX开发的3D展示应用、游戏等GPU硬件虚拟化/物理直通方案一般配合云应用和3D应用实时渲染使用。 以上技术的共同点是把3D应用直接搬上云端进行计算但单纯的云渲染能否实现应用不上云仅渲染上云 因此我们实现了一套基于云原生优化的上云方案即远程渲染。它同时适用于Web、PC和移动端3D应用程序。应用程序实际在客户端侧运行但渲染的计算被卸载并通过远程渲染SDK在云端完成渲染最终画面通过视频编码回传给端侧。 它的优点是云端只承担渲染职能端侧的算力可以完成其他逻辑的运算结合客户端实际情况还可以灵活选择本地、云端或混合渲染。缺点是应用需要基于远程渲染SDK进行改造并且无法满足非常高的交互式实施场景需求例如某些游戏。 上图展示了用户使用远程渲染服务的具体流程。在开通服务并创建云渲染会话后由远程SDK控制云端渲染渲染后的画面通过华为RTC服务回传至客户端进行显示。 接下来对远程渲染效果进行演示。传统模式下设计师需要通过离线渲染获得效果图后才能查看设计效果。利用华为云渲染设计师可以实时查看设计效果同时云端光追渲染可以更真实地还原现场光线环境。 那么渲染和云结合的具体优势是什么和消费级显卡相比云数据中心使用的硬件价格十分昂贵高昂的造价实际带来了哪些利好呢如上图所示如果将云看做一个大机器可以发现云渲染支持同时服务于不同类型手机、平板、主机等等的多个用户并且可提供一个应用能够被多用户使用的场景。它的硬件资源不绑定到用户而是由用户使用时间决定。软件也无需在本地进行安装。 前面提到的几种3D应用上云方案本质上只是将本地程序部署上云云仅仅提供本地资源的替代计算资源按连接来调度不同的应用间没有共享。 华为云通过对自研渲染引擎进行多用户接入改造实现了一些新的尝试使单引擎在相同场景下可以同时接入多个用户这种方式变相节省了部分场景加载的内存和显存且用户之间共享的计算可以节省CPU、GPU。作为充分发挥云优势的云原生方案它与前述的几种方案在本质上完全不同。经过实际测试它可以提升0.5倍以上的效率。 -06- 工业图形渲染实践 接下来介绍我们在工业图形渲染领域的一些实践。工业图形渲染引擎可能与大家日常接触的渲染工作不同它是计算机辅助设计CAD、计算机辅助制造CAM、计算机辅助工程CAE、建筑信息建模BIM等工业设计软件中的基础技术组件决定了3D设计对象的真实呈现、保证前端设计的正确性。 目前国内缺乏自主研发的高质量工业图形渲染引擎各大企业的自研引擎无法支持高质量和大场景图形渲染。业界较为出名的GPU渲染器基本都是国外的产品如KeyShot和HOOP等。 华为云在国家技术创新中心的支持下启动了工业图形渲染引擎研发项目目标是历经23年的开发产出达到世界先进水平的渲染引擎满足CAD、CAE、CAM和EDA场景的工业图形渲染需求。 上图展示了我们自研工业渲染管线近期的实时渲染效果目前它已和部分中国三维CAD厂商完成了集成对接2024年将陆续实现与其他企业设计软件的对接。 接下来对云端光追实时渲染进行展示它侧重呈现材质、光影等效果。 -07- AI加速渲染实践 最后介绍华为云的AI加速离线渲染。我们原有的旧思路是通过自研渲染引擎来替代友商同类产品由于生态壁垒过高该思路并不可行。 现有离线渲染流程是客户端应用通过农场服务、农场调取器提交图形数据确定计算节点并完成图形渲染。由于过程中的光追计算消耗量很大导致整体所需时间也很长。因此我们希望通过引入AI技术对渲染进行加速通过农场服务调整参数降低渲染的光追计算从而降低纯CG端的计算再通过专有的AI模型对渲染过程性输出CG数据进行AI推理计算。输出效果可以达到同等质量。 上图展示了华为云AI加速渲染的输出效果。可以看到AI输出与原生渲染图在质量上基本一致。 上图展示了一个AI加速渲染影视番剧的实际案例。可以看到毛发等细节与原生渲染图基本一致并且质量要求越高提速效果越好。 接下来对我们的技术时间轴进行总结。2011年至今我们的发展从2D渲染到自研3D空间云渲染从GPU虚拟化到光追引擎和AI渲染加速涉及的行业包括企业办公、数字人、影视、云游戏、工业设计等等。 我们的研发团队呈全球布局依靠图形领域全球知名高校和产业基地持续深耕云原生图形技术支持产业升级。 接下来对我们的自研离线渲染视频进行演示它主要面向家装设计场景光影真实性比实时渲染更强每帧渲染仅需要510秒。 最后对我们的自研实时渲染进行视频演示它基于华为自研渲染引擎构建。 本人认为渲染是技术也是工具可以帮助用户达成预期效果的呈现在此也希望与各位在座专家深入交流。我的分享就到这里谢谢大家 ▲扫描图中二维码或点击“阅读原文” ▲ 直通LiveVideoStackCon 2023深圳站 8折购票通道