新技术揭秘:云游戏背后的技术详解
在刚刚过去的腾讯全球数字生态大会上,腾讯云发布了全新的云游戏解决方案,将云游戏带入了2.0时代。今天的技术解码就由胡小华老师为大家解读云游戏的相关技术细节。
云游戏是一种以云计算、渲染及云传输为基础的游戏实现方式,与传统游戏区别在于游戏的运行在云端边缘计算节点上,而非用户本地终端上;用户本地终端通过网络接收云端边缘计算节点发送的数据进行游戏声音与画面的本地呈现,同时用户将对游戏的操作控制指令发送到云端进行对游戏的控制。
云游戏解除了传统游戏方式中游戏本身对终端设备的系统软件、硬件等能力要求的限制,可以轻松的在PC、手机、平板等终端进行接入,其应用场景主要如下:
云游戏应用场景
1、3A大作随时玩
3A游戏的安装与运行全部在云端边缘计算节点中进行,终端只需要实现简单的网络数据包接受、渲染与交互,并不需要发烧级的硬件配置来支持,普通的一台能支持高清视频播放的手机、平板与TV等终端设备就可以玩3A游戏。
2、端游/手游覆盖
云游戏淡化了端游/手游概念,我们通过虚拟化VM与容器技术,将端游与手游部署运行在云端边缘节点上,玩家通过我们提供的多终端SDK,可以通过网页、客户端app等接入方式,在手机、平板、电视等任何支撑的终端上玩PC游戏或者手机游戏。
3、游戏试玩
云游戏的游戏试玩,跳过了传统游戏的下载、安装等步骤,玩家直接通过体验入口进入就可以立即进行游戏的试玩。
4、多人云游
“独乐乐不如众乐乐”,云游戏打破了传统的多人同屏游戏限制,跨越了空间,在任何地方都可以随时邀请好友多人一起玩游戏。
5、游戏助力
游戏通关不过?云游戏提供了游戏助力功能,可以让你正在玩的游戏,实时授权给其它玩家来操作,替你通关……
6、云游直播
云游戏支持游戏分享、游戏观战,可以将游戏的内容实时直播出去。
云游戏除了调度与游戏管理等相关模块,其底层主要由流化、传输、渲染交互三大块组成。
流化:在云端边缘计算节点中实现,完成游戏的流化;
传输:通过边缘网络来实现,选择最短的链路打通边缘节点与终端用户的网络通道;
渲染交互:在用户终端中实现,完成对游戏数据流的本地渲染呈现以及交互控制。
其中,流化根据实现方式的不同,可分为视频流与指令流两种形态。
1、视频流实现
视频流方案
视频流实现:游戏运行在带有GPU的边缘计算节点,将GPU生成的游戏图像转换为H.264/H265的视频流以及音频数据,通过网络传到终端,同时终端将操作指令如鼠标,键盘,触控等数据回传到服务器中。
2、指令流实现
指令流方案
指令流实现:游戏运行在边缘计算节点中,通过带有支持图形API的虚拟GPU或者软件图形库,复制游戏下发的图形API,并序列化为指令流,将指令流通过网络传输到带有GPU的终端,由终端运行指令流,并渲染出游戏图像,同时终端将操作指令如鼠标,键盘,触控等数据回传到服务器中。
目前,市面上已经对外发布的云游戏方案主要为视频流方案,下面我们将对基于视频流的实现做详细讲解。
3、基于视频流的云游戏技术实现
视频流系统框架
3.1 流化处理
视频流的流化处理主要是采集游戏音视频数据编码为音视频流,为了提高处理效率与降低延时,云游戏视频处理直接从GPU显存获取游戏画面,然后传到GPU编码模块进行编码输出,减少了GPU与CPU之间拷贝导致的性能损失;音频处理直接从声卡获取游戏声音数据进行编码输出,具体如下:
(1)视频流化处理
GPU采集编码
视频流化处理:将游戏渲染的画面,直接从GPU显存中获取,然后传输到GPU 编码模块进行编码输出视频流。
(2)音频流化处理
音频采集编码
音频流化处理:从声卡获取游戏声音进行编码为音频流。
3.2 传输处理
云游戏为了降低延时,传输采用实时流协议,如:常用的RTP/RTSP/RTC等协议,同时根据当前国内的网络环境,针对云游场景进行了专门的自适应抗抖动优化。
传输自适应抗抖动
传输自适应抗抖动处理,根据网络状况与终端渲染播放能力进行综合判断,自动调整视频流的码率、帧率,分辨率,实现在弱网、网络切换以及弱终端的最优体验。
3.3 渲染交互处理
(1)渲染处理
终端渲染
渲染处理:主要实现音视频数据的解码与同步渲染输出,为了提高终端解码能力,云游戏优先采用开启系统硬件解码的方式来进行解码,同时,为了减低延时,严格控制缓存buffer,让视频画面尽快输出。
(2)交互处理
终端交互处理:云游戏支持各种终端输入设备,完成键鼠、Touch,手柄等输入事件处理,发送到云端边缘计算节点来来完成对游戏的操控。
1、成本
云游戏成本主要源于硬件与流量,如何提高单台机器的最高并发数?如何提升编码压缩比来降低带宽成本?是当前云游优化的两个主要方向。
针对这两个问题,云游戏给出了云游虚拟化的解决方案,主要实现CPU/GPU虚拟化,将资源利用最大化;针对不同的游戏场景,虚拟出不同的虚拟机类似,细分资源粒度,尽量将成本做到最低。例如:vGPU根据不同的游戏场景,具体划分如下:
2、延时
云游戏的延时在整个链路上由如下几个部分组成:
云游戏相对于本地游戏,额外增加的延时主要来自于输入、网络传输、编码、解码,终端渲染几个部分;通过对整体链路的优化,将总延时控制在了50ms以内,保证一个好的游戏体验。
3、运维
云游戏运维主要包含边缘节点管理,游戏管理,游戏自动更新,账户管理,游戏安全管理等工作。云游戏需要维护大量的边缘计算节点,大量的游戏,而且游戏一般都比较大且更新频繁,需要及时处理游戏自动更新分发同步等问题。
云游戏随着基础实施能力提升,云计算与5G技术融合,让云游戏的质量、操作流畅性等都获得大幅提升,游戏延时也在玩家可以接受的范围内;随着入局的企业越来越多,整体产业生态越来越完善,未来2~3年会有一个比较大的突破;同时,新的交互方式和游戏类型也会将在接下来的几年陆续出现,云游戏会从一个细分市场,逐渐走进每一个玩家的生活。
上一篇: iOS模拟器无法运行,这是为什么呢?
下一篇: 如何在Xcode中添加自定义的在线模拟器
推荐阅读
-
揭秘阿里云直播技术背后的工作原理
-
新技术揭秘:云游戏背后的技术详解
-
【2022新手指南】Java编程进阶之路 - 六、技术架构篇 ### MySQL索引底层解析与优化实战 - 你会讲解MySQL索引的数据结构吗?性能调优技巧知多少? - Redis深度揭秘:你知道多少?从基础到哨兵、主从复制全梳理 - Redis持久化及哨兵模式详解,还有集群搭建和Leader选举黑箱打开 - Zookeeper是个啥?特性和应用场景大公开 - ZooKeeper集群搭建攻略及 Leader选举、读写一致性、共享锁实现细节 - 探究ZooKeeper中的Leader选举机制及其在分布式环境中的作用 - Zab协议深入剖析:原理、功能与在Zookeeper中的核心地位 - RabbitMQ全方位解读:工作模式、消费限流、可靠投递与配置策略 - 设计者视角:RabbitMQ过期时间、死信队列与延时队列实践指南 - RocketMQ特性和应用场景揭示:理解其精髓与差异化优势 - Kafka详细介绍:特性及广泛应用于实时数据处理的场景解析 - ElasticSearch实力揭秘:特性概述与作为搜索引擎的广泛应用 - MongoDB认知升级:非关系型数据库的优势阐述,安装与使用实战教学 - BIO/NIO/AIO网络模型对比:掌握它们的区别与在网络编程中的实际应用 - Netty带你飞:理解其超快速度背后的秘密,包括线程模型分析 - 网络通信黑科技:Netty编解码原理与常用编解码器的应用,Protostuff实战演示 - 解密Netty粘包与拆包现象,怎样有效应对这一常见问题 - 自定义Netty心跳检测机制,轻松调整检测间隔时间的艺术 - Dubbo轻骑兵介绍:核心特性概览,服务降级实战与其实现益处 - Dubbo三大神器解读:本地存根与本地伪装的实战运用与优势呈现 ----------------------- 七、结语与回顾
-
微信 "扫一扫 "物联网,全面揭秘 "扫一扫 "背后的扫盲技术!-1.1 扫一扫感知物体是做什么的? 1.1 微信扫一扫是做什么的? 扫一扫识物是指以图片或视频(商品图片:鞋/包/美妆/服饰/家电/玩具/图书/食品/珠宝/家具/其他商品)为输入媒介,挖掘微信内容生态中的有价值信息(电商+百科+资讯,如图1所示),并展示给用户。这里的电商基本涵盖了微信小程序覆盖上亿SKU的全量优质电商,可以支持用户货比N家并直接下单购买,百科和资讯则聚合了微信内的头部自媒体如搜狗、搜搜、百度等,向用户展示和分享拍摄商品相关的内容资讯。 图 1 扫一扫识别功能示意图 欢迎大家更新iOS新版微信→扫一扫→识货,亲自体验,也欢迎大家通过识货界面的反馈按钮向我们提交反馈意见。 扫一扫识物实景图展示 1.2 扫一扫识物有哪些使用场景? 扫一扫识物的目的是为用户访问微信内部生态内容开辟一个新窗口,以用户扫图片为输入形式,为用户提供微信生态内容中的百科、资讯、电商等作为展示页面。除了用户熟悉的扫一扫操作外,我们还将进一步拓展长按操作,让用户更方便地进行扫一扫操作。"扫一扫知事 "的落地场景主要涵盖三大部分: a. 科普知识: a.科普知识。用户通过扫一扫,可以在微信生态圈中获取该对象的百科、资讯等常识或趣闻,帮助用户更好地了解该对象; b.购物场景。同样的搜索功能支持用户看到喜欢的商品立即检索到微信小程序电商中的同款商品,支持用户即扫即购; c.广告场景。扫一扫识别物体可以辅助公众号文章、视频更好地理解其中蕴含的图片信息,从而更好地投放匹配广告,提高点击率。 1.3 Sweep Sense 为 Sweep 家族带来了哪些新技术? 对于扫一扫来说,大家耳熟能详的应该就是扫一扫二维码、扫一扫小程序码、扫一扫条形码、扫一扫翻译了。无论是各种形式的编码还是文字字符,都可以看作是图片的一种特定编码形式,而物的识别则是对自然场景图片的识别,这对于扫一扫家族来说是一个质的飞跃,我们希望从物的识别入手,进一步拓展扫一扫对自然场景图片的理解能力,比如扫酒、扫车、扫植物、扫人脸等服务,如下图3所示。 图 3 Sweep 家族
-
如何打造流畅直播?揭秘视频网站的背后流媒体技术详解17号篇
-
最新技术揭秘:深度学习驱动的点云分割网络与数据集解析