当前位置:首页 > 文章 > 正文内容

一文读懂云渲染“串流”全链路时延及优化策略

廖万里2年前 (2022-10-27)文章50428
一文读懂云渲染“串流”全链路时延及优化策略


这是一个让云游戏完美起步的时代。

云游戏作为产业内近年来炙手可热的话题,具有“云端运行、超高清、零延时、即点即玩”等众多特性。

随着 5G 时代的到来,以及中心云能力下沉至边缘云,高带宽、低延迟、高性能这些特性与云游戏紧密结合,突破实时云渲染的带宽和延迟问题,也赋予了云游戏更大的想象力。

就在今年6月,央视推出了首个大型沉浸式数字交互空间《三星堆奇幻之旅》,让观众摆脱本地硬件限制,仅通过一个H5页面带观众破屏穿越,“身临其境”探索考古现场。

沉浸式体验背后, “云渲染”和“串流”是绕不开的核心技术。

01 实现云游戏的关键技术:「串流」

“云渲染” 将大型沉浸式体验需要的3D渲染应用部署在云端,使得观众看到和交互的画面,都是云端实时渲染计算出来的。

“串流” 是实现云游戏的关键方式,通过数据中心将游戏渲染场景转换成视频流,再通过传输网络推送到用户终端显示。

同时,用户在实时显示的图像上,通过键盘鼠标、触控等方式传输指令到云端,实时控制3D渲染应用做出相应的响应。

整个过程延迟通常小于100ms。

一文读懂云渲染“串流”全链路时延及优化策略


云渲染「串流」技术通常应用在云上考古、云旅游、虚拟数字人直播、智慧城市数字孪生应用和云游戏的场景

用户不必部署昂贵的高配PC或手机,通过网页访问或者扫描二维码的方式,即刻便可享受细腻、清晰、流畅的高清视频体验和实时的操控效果。

一文读懂云渲染“串流”全链路时延及优化策略


云渲染串流主要采用启动成功率、错误率、资源利用率、首帧时间、时延、码率、分辨率、画质、卡顿率、音画同步差等指标来衡量业务的好坏。

本文对重点对「串流」全链路时延进行分析,并介绍主要的优化策略。

02「串流」的全链路时延

作为云渲染串流技术体验的基础,超低延时的要求带来了巨大的挑战。

云渲染串流的全链路时延主要可拆解为以下各个环节:传输时延、指令时延、编码时延、封包时延、收包时延、解码时延、帧间隔时延。

一文读懂云渲染“串流”全链路时延及优化策略


传输时延:媒体流与指令流传输的时延。用户通过阿里云广泛部署的边缘节点就近接入,一般状态下rtt(往返时延)可稳定控制在10ms以内,即单向网络延迟5ms;在资源繁忙时,存在中心调度到较远节点的情况,偶尔出现部分用户rtt在30ms左右的情况,即单向网络延迟15ms。

指令时延:云上的unity/ue渲染应用的响应客户端的触控事件的时延。指令可以通过进程间通信的方式,打通串流应用层和渲染程序,避免操作系统交互,实现虚拟化操作,指令时延控制在1ms以内。

编码时延:视频编码的处理时延。采用GPU硬件加速、采集编码Zero Latency的策略,通过对渲染应用的direct API挂钩的方式,实现GPU内部纹理视频数据的采集和编码闭环,避免了GPU和CPU之间原始大数据量的视频拷贝,节约了功耗,控制整体编码时延为2ms以内。

封包时延:视频编码数据封装RTP到服务器音视频发送的时延。采用更适合云渲染的拥塞控制策略,实时精准调节网络缓冲区,可以降低数据包在服务器的缓存时间为5ms以内。

收包时延:用户接收端的RTP jitter buffer的时延。该时延保持在20~30ms,即缓存1~2帧的状态,以应对乱序、丢包、抖动等网络环境,在保证流畅度的前提下,最大限度降低网络时延。

解码时延:视频解码处理时延。不同设备的视频解码策略不同,在中端机型软解高清视频的平均解码时延为7ms左右,这是统计时延结果,在H5端上改进空间较小。

帧间隔时延:编码算法时延。在60fps帧率的情况下,每两个视频帧之间的时间间隔固定为16ms,也就是说指令响应到视频编码之间一定会存在0-16ms的时间延迟,这是由视频编码本身机制引起的,理论上不能减少。

总之,在1080P 60fps的场景下,云渲染串流全链路时延 = 传输时延rtt(10-30ms)+ 指令时延(1ms)+编码时延(0-2ms)+封包时延(0-5ms)+收包时延(20-30ms)+解码时延(7ms)+帧间隔时延(0-16ms)= 38ms 到 90ms之间,可以实现100ms以内的体验效果。

03 串流时延的精准「优化」策略

对于「串流」技术的全链路时延,优化策略主要包括:编码优化、前处理优化、采集优化、指令优化、传输优化。

❖ 编码优化

在视频编码策略方面,影响编码延时的主要优化有:

1. 用 slicethread 代替 framethreads,提高编码效率,降低计算处理时延。

2. 关闭lookahead线程,避免线程预测的帧缓存。

3. 关闭B帧 (HEVC可以支持GPB,替代普通的B帧),以降低后向参考的算法时延。

❖ 前处理优化

前处理优化主要指的是「窄带高清」处理,通过CPU+GPU联合计算,进行视频原始域的计算优化,在满足码率降低35%,VMAF提高10%效果的同时,最小化计算处理时延,效果如下图。

一文读懂云渲染“串流”全链路时延及优化策略


在云渲染场景下的窄带高清处理,可以实现Zero-latency编码与画质的平衡,使主客观画质都有显著提升。同时窄高高清处理,可以降低视频编码码率,降低网络传输的带宽压力。

❖ 采集优化

在视频采集方面,通过对用户渲染进程远程注入视频采集hooker,对preset函数设置函数钩子,在函数钩子中将back buffer拷贝到共享纹理中,供硬件编码器使用的方式,避免了GPU和CPU之间的yuv原始视频数据的拷贝。在GPU内部完成视频采集、视频处理与视频编码,全过程纹理数据处理, 采用CUDA硬件视频编码,并行加速编码过程,降低编码时延。

一文读懂云渲染“串流”全链路时延及优化策略


蓝色部分为用户渲染引擎进程,完成GPU的纹理渲染;橙色部分为阿里云云渲染引擎进程,完成钩子注入、网络收发和业务逻辑;黄色部分为GPU运算,用户进程和阿里云进程两者通过共享纹理进行数据通信,并实现硬件编码加速。

❖ 指令优化

在指令操作方面,我们根据不同用户需求,提供「非侵入式」和「侵入式」两种方案。

非侵入式方案通过hook到用户渲染进程的方式,通过挂载GetKeyState、GetCursorPos等一系列win api键鼠状态函数,用来传递用户控制指令流,避免内核态与用户态的数据交互。

非侵入式方案的优点在于应用适配性好,用户不需要二次开发;缺点是需要依赖不同系统版本的api。

侵入式方案是指用户渲染引擎可以选择集成阿里云注入.dll的方式,通过同主机进程间的socket通信方式,实现自定义用户集成消息解析,降低指令解析时延。

侵入式方案应用能实现云原生化,但其具有一定的技术门槛,需要开发集成阿里云的方案。

❖ 传输优化

在传输优化策略中,主要包括指令流QoS保障、带宽估计、拥塞控制、视频缓存精准估计、FEC纠错算法改进、特殊包冗余保护。

指令流QoS保障:针对移动事件需保证执行顺序,在网络乱序场景下,允许丢包,但通过序列号确保执行最新事件;针对按键、点击事件,会启用重传策略,保证本地操控与最终显示的最终一致性;对于组合事件消息进行消息合并,减少发包量,同时通过冗余策略能保证丢包时候的到达率。

带宽估计:采用BBR算法,在带宽上探时,不会造成rtt的较大变化,避免传输延迟的增加。同时,优化BBR算法的带宽下探策略,在探测最小rtt时,不停发数据,保障媒体数据稳定传输。在带宽探测过程中,采用快速收敛策略,优化最大带宽计算方法并缩短带宽估计的反馈时间为100ms,快速探测带宽。

一文读懂云渲染“串流”全链路时延及优化策略


拥塞控制:调整pacer sender的周期判定条件,在网络状态良好时,提高单次数据发送量,减少单帧发送时间。

视频缓存精准估计:在视频解码端,采用卡尔曼滤波器动态估算帧间隔时间,精准设置jitter buffer大小,减少不必要的时延。

FEC纠错算法改进:使用cm256 RSFEC算法,比传统RSFEC算法cpu利用率降低95%,最大化提高分组数量。在云渲染大码率的场景下,减少前向纠错的计算时间。

特殊包冗余保护:针对特殊包,例如NACK包及重传包、I帧及重传I帧、用户自定义指令和操作指令等,分级传输,通过专用冗余通道传输,以局部带宽提升为代价,以保障最小时延的整体传输到达率。

针对云渲染串流场景,阿里云开发了专门的延迟评测工具,通过云渲染串流的通用指令API,可以完成上述全链路时延测量。该工具由服务端测试渲染应用、测试应用客户端和统计处理工具组成。

一文读懂云渲染“串流”全链路时延及优化策略


服务端测试渲染应用:实时获取客户端上传的毫秒时间,并通过云渲染串流显示上传的计时时间。

测试应用客户端:实时显示毫秒计时,并通过云渲染串流的API,例如鼠标坐标设置API,实时上传毫秒时间到服务端。

统计处理工具:包括定时截图程序、时间戳自动识别程序和延迟卡顿数据处理程序完成自动化测试和数据收集和统计,可以评测第三方云渲染系统,并获取延迟和卡顿的结果。

右侧为工具运行效果,图上示例中的时间延迟为706290(客户端) - 706231(服务端) = 59 ms。通过OCR识别和长时间大数据量的测试,可获取云渲染串流时延的统计结果。

虽然目前云渲染串流时延100ms可以满足用户的体验需求,但是100ms仅仅是及格线而已。

在降低时延方面,大有空间可为。

比如:

在内容生产端,通过开发云原生渲染应用,实现“内容生产+编码传输”的闭环应用,会进一步提升指令反馈和图像显示的实时效果。

在云端,同一张网实现多业务混跑,降低用户接入节点的成本,减少就近接入的距离,可以实现网络延迟的最小化。

在用户端,云渲染应用以h5接入为主,而在h5端,可以通过webcodec、webtransport、webrtc等技术的有机结合,实现灵活的串流策略,达到用户的极致体验。

唯有实现串流技术的“延时自由”,才能让身临其境的云游戏,完美起步。


本文链接:https://www.kkkliao.cn/?id=158 转载需授权!

分享到:

添加博主微信共同交流探讨信息差网赚项目: 19528888767 , 请猛戳这里→点我添加

版权声明:本文由廖万里的博客发布,如需转载请注明出处。

“一文读懂云渲染“串流”全链路时延及优化策略” 的相关文章

双11想买台便宜的512GB手机,真的就这么难吗?

双11想买台便宜的512GB手机,真的就这么难吗?

双十一可能是很多小伙伴换手机的时间,但是换手机的时候却面临了一个问题,现在手机基本都是128GB起步,但是很多人买手机又想买大内存版本,而大版本的又有些贵,这样就导致本来预算是旗舰机,结果只能换中端机,其实大可不必,因为有这么几款512GB的大内存手机,价格不贵,而且性能也很强,一起看看吧。第一款:...

马斯克倡议设台湾特别行政区,台地区专家:不希望台海冲突,反映商人普遍心声

马斯克倡议设台湾特别行政区,台地区专家:不希望台海冲突,反映商人普遍心声

 美国电动车大厂特斯拉公司创办人马斯克针对台海紧张局势,提出中国将台湾地区设为“特别行政区”方案。彰化师范大学创意创新创业研究中心主任王信文接受香港中评社访问表示,特斯拉电动车有75%的供应链来自台湾,马斯克当然不希望台海冲突,波及商业发展,这某方面也反映商人普遍心声,商人会作此呼吁,代表已嗅到战争...

美设备大厂接连表态,反转出现了,外媒:华为将“打”出和平

美设备大厂接连表态,反转出现了,外媒:华为将“打”出和平

华为5G的横空出世,一举打破了美国数十年的通信霸权,也首次将中国通信带到了全球最顶端的位置,堪称是中国人的骄傲。然而,这却引起了老美的忌惮,它为了巩固自己的科技霸权地位,近些年频繁修改芯片规则,妄图通过断供来放倒华为。大家都知道,技术封锁是美帝霸凌主义惯用的手段,且屡试不爽,日本东芝和法国阿尔斯通的...

苹果手机打电话时如何录音

苹果手机打电话时如何录音

在国内,通话录音这项功能我们每个人都有可能使用到!因为某种意义上,可以作为证据使用。大多数的安卓手机都会支持这项功能。而苹果手机支持通话录音吗?答案是显而易见的:不支持!为什么不支持通话录音呢?对于苹果手机而言,更关注隐私的安全。通话录音在其看来是侵犯了对方的隐私,所以苹果公司不支持通话录音功能。并...

微信一定要关闭的6个设置

微信一定要关闭的6个设置

微信里面的个人隐私信息必须要注意,尤其是微信里面设置里面的一些功能,都应该要及时关闭,以免自己就的个人隐私遭到暴露。1,自动扣费/免密支付项目点击我→服务→点击钱包→选择支付设置→关闭自动续费、免密支付,这两项不需要的。2,关闭自动下载点击我→设置→点击通用→选择照片/视频→关闭自动下载。如果不关闭...

你最讨厌QQ什么?

你最讨厌QQ什么?

作为中国最早的社交软件之一, QQ承载着无数的青春。QQ最初诞生的时候,是为了方便人们之间的交流而诞生的。那时候 QQ作为我们联系的主要工具,人们之间可以进行即时通讯。我们每天都会在 QQ上和不同的人进行沟通互动。聊天的内容也十分的丰富,有的时候聊天的内容甚至超过了现在人们生活的内容。而其中最让人讨...

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。