基于服务器端的三维渲染技术
Martin等人根据渲染发生在客户端还是服务器端,将三维渲染分为基于客户端的渲染,基于服务器端的渲染和基于混合端的渲染。
基于客户端的渲染 | 基于服务器端的渲染 | 基于混合端的渲染 | |
渲染端 | 客户端 | 服务器 | 客户端和服务器(合并渲染结果) |
通信 |
1.服务器端->客户端三维场景描述 2.客户端->服务端简单的请求信息 |
1.服务端->客户端计算的结果或最终图像压缩传递 2.客户端->服务端请求或交互指令 |
1.服务端->客户端渲染结果(是最后在那个结果的一部分) 2.客户端->服务端信息请求 |
软硬件需求 |
1.客户端需要安装相应的插件 2.哭护短硬件需要有计算能力 |
1.对客户端硬件无要求 2.服务端需安装对应应用 |
1.客户端需要安装对应插件 2.客户端需要具备一定的计算能力 |
优点 |
1.服务器的工作相对简单,可同时处理大量的请求信息 2.能提供即使的响应反馈 |
1.客户端再无渲染压力 2.客户端无软硬件兼容问题 3.不同硬件的客户端可以显示相同质量的结果 |
同时利用了客户端和服务端主机的计算能力 |
瓶颈 |
1.客户端的计算能力会影响数据载入和渲染质量,给开发带来影响 2.需考虑客户端软硬件兼容问题 |
1.增加网络带宽压力 2.网络对交互有影响 3.服务端处理的并发请求会比基于客户端的要少若干数量级 |
1.继承前两种方法的共同劣势(双向瓶颈) 2.需考虑客户端硬件兼容 3.需考虑网络带宽 |
画面渲染可以分为两种:三维游戏中的实时渲染和动画电影用到的离线渲染。
离线渲染 | 实时渲染 | |
处理器 | CPU | GPU |
渲染农场 | 传统渲染农场 | 云渲染农场 |
应用 | 电影 | 游戏 |
特点 | 画面质量高,真实感强,渲染时间长 | 画面质量一般;渲染速度快 |
渲染器 | Renderman | FurryBall |
云渲染
概念:
云渲染和云计算相似,它是将三维的应用程序放在远程的服务器中渲染,而用户终端通过网络软件或本地的三维程序点击云渲染按钮,访问资源经由高速互联网接入,用户终端发出渲染指令给服务器端,服务器端会根据该渲染指令执行相应的渲染任务,并将渲染出的结果画面通过网络传送至用户终端中并显示。
面临的难题:
如何处理三维渲染任务对计算硬件的性能以及指令响应时间上提出的苛刻要求。一个云渲染系统每天需要处理成千上万个用户渲染请求,若要同时保证给所有用户提供高清的( 如 1080p) 渲染,后端的服务器系统需要承担巨大的计算压力,这就要求服务器具备惊人的图形计算性能,否则无法满足大量用户同时渲染的请求。另一个关键是云渲染对网络延迟控制严格,如果在客户端运行三维游戏,则该游戏就要对用户指令的响应具备高度敏感性,尤其在类似于 CS 的激烈对战游戏中,稍有延迟就可
能让战事陷入死局。
服务器端响应客户端消息的流程:用户发起请求→服务器端接收请求→服务器端渲染图像→服务器端压缩图像→压缩的图像经由网络传输→客户端接收后解压缩→客户端显示图像。
视频压缩编码:通过特定的压缩技术,将某个视频格式的文件转换成另一种视频格式文件的方式,其目标是: 在尽可能保证视觉效果的前提下减少视频数据率。
当前主流的视频压缩编码方法有:帧内压缩和帧间压缩。
帧内压缩在压缩一幅图像时仅考虑本帧的数据而不考虑相邻帧之间的冗余信息,属于一种自满足式的压缩方法,一般是采用有损压缩算法,但其压缩比率不高。
帧间压缩是一种无损的压缩方法,利用的是相邻帧之间的相关性。由于大多数视频的相邻帧之间的信息变化很少,对这些冗余信息进行压缩,仅仅记录本帧和其相邻帧之间的差值就能得到很大的压缩量。
需要说明的是:“相邻帧”指的是编码关系上的相邻而非实际播放顺序上的相邻。
运动补偿是一种描述相邻帧之间差别的方法:目标图像会被分割成若干矩形像素块,每个矩形块中计算一个单独的二维向量并存储,该向量是该矩形块的位置偏转向量,即指示对应块在参考帧中源数据的位置。寻找这些二维运动向量的方法被称为运动估计。
变形是一种运动向量的方法,它主要用于传统的基于运动补偿的视频编码估算器。图像变形的方法是每秒只生成少量的图像,而中间的部分使用图像变形实现。变形主要用于补偿网络延迟,并且在网络宽带允许的情况下,让客户端渲染器拥有比服务器端渲染器更高的帧率。
参考文章《基于服务器端的三维渲染技术综述》
基于服务器端的三维渲染技术相关推荐
- 百家号基于AE的视频渲染技术探索
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-nm0WWHSi-1657593629762)(https://p3-juejin.byteimg.com/tos-cn- ...
- 基于WebGL的三维交通监控可视化技术应用(实践版) ThingJS
#三维可视化##3D开发# WebGL, SVG,BIM技术对比 ThingJS整合Echarts数据分析 隧道监控三维可视化5大场景 互联网技术为交通行业的可视化带来了多样性的发展.从传统的二维平面 ...
- 三维交通模拟html,基于WebGL的三维交通监控可视化技术应用(实践版) ThingJS
#三维可视化##3D开发# WebGL, SVG,BIM技术对比 ThingJS整合Echarts数据分析 隧道监控三维可视化5大场景 互联网技术为交通行业的可视化带来了多样性的发展.从传统的二维平面 ...
- 科技对计算机动画的影响,三维动画技术发展对当代生活的影响
[摘 要]在当前信息技术的高速发展背景下,关于计算机图形学的研究被不断推广,三维动画技术的形成应运而生.三维动画技术的应用,使得各种画面.场景栩栩如生地浮现在人们眼前,各种特技效果真正达到了以假乱真的 ...
- 新一代三维GIS技术助力灭火救援工作更高效、更标准、更科学
2009年,SuperMap发布了首款二三维一体化GIS软件,并首次提出了二三维一体化GIS技术.随后,二三维一体化的应用系统不断涌现,二三维一体化技术逐步成为三维GIS发展和研究的主流.2017年, ...
- 探明地下水监测“黑洞”,新一代三维GIS技术这样做!
近年来,国家高度重视生态文明建设以及自然资源的管理和治理.2008年,在国家发展改革委大力支持及协调下,水利和国土资源部门联合编制了<国家地下水监测工程项目建议书>,并与2010年11月得 ...
- ae渲染存在偏移_基于三维GIS技术的矢量地图动态LOD渲染方法
本文从地图操作和要素可见性入手分析地图简化的影响因素,并基于分析的结果设计相应的缓存结构以加速地图的渲染.研究GPU环境下梯形格网的高效LOD方法,探讨简化前后节点的重组和显存中EBO数据的更新方法, ...
- 基于三维GIS技术的矢量地图动态LOD渲染方法研究现状
"地图是人类文化的杰作,它融科学.艺术于一体,作为描述.研究人类生存环境的一种信息载体是人类生产与生活中不可缺少的一种工具."这是陈述彭院士为<中国地图学年鉴>作序的开 ...
- 【转载】【《Real-Time Rendering 3rd》 提炼总结】(九) 第十章 · 游戏开发中基于图像的渲染技术总结
本文由@浅墨_毛星云 出品,转载请注明出处. 文章链接: http://blog.csdn.net/poem_qianmo/article/details/78309500 这是一篇近万字的总结式 ...
最新文章
- Facebook全面推出Watch Party,可多人线上同看直播视频
- 基于xilinx异构平台上视频采集分析
- 深入理解Spark 2.1 Core (五):Standalone模式运行的原理与源码分析
- Chapter7-12_Controllable Chatbot
- python实训目的意义_Python实训第二天--基础知识2
- 无人车研发实力哪家强?Google只能排第十
- 测试的目的_盐雾测试的目的是什么
- 水泥电阻,常用电阻 阻值表
- 电商项目实战--收货地址相关
- 微信小程序云开发:上传图片、视频到云存储指定目录并渲染到页面上
- 微处理器 微型计算机 单片机之间有何区别,微处理器、微计算机、微处理机、CPU、单片机、嵌入式处理器它们之间有什么区别?...
- [网络安全学习篇64]:业务安全
- C语言之根据摄氏温度求华氏温度
- 服务器内存UDIMM与RDIMM区别
- pk 与fk mysql_什么是MySQL FK的正确命名约定?
- 动手写一个HTML5的无限循环滚动焦点图
- C#操作Access数据库(vs2019)
- 详解分布式 ID 生成器
- java开发——什么时候使用枚举类型?为什么要用枚举类型?
- 欣瑞达一分钟教程,如何接RS232/RS485线