鲜科技!内部云游戏沙龙分享

系列知识及问题集锦:

1、 云游戏概况分析

知识集锦:

云游戏概念

云游戏,也叫订制游戏,是在线游戏的一种不只是网页游戏或者是微端游戏,是一种游戏输入,运算,和画面显示分离的技术。目前有2种主要的云游戏形式:基于视频串流的云游戏和基于文件串流的云游戏。云游戏主要目的是让用户能跨平台玩到各种游戏。

云游戏市场分析

从市场上看现在云游戏好像是很多人在做,并且也发展了一段时间,但是感觉总是不温不火,大家对于这个东西不知道是对于新事物的畏惧,还是它本身的体验有缺陷,现在云游戏看起来不是非常非常火热的消费者很多的领域但是观察现在美国和韩国的游戏运营商现状,随着网络和硬件的成熟,曾经沉寂的云游戏有机会再次崛起。

1.LGU+,Samsung,SK的云游戏方案都在韩国落地商用;

2.日本Docomo,kddi,SQX的云游戏也已经发布,连老牌游戏主机厂商任天堂也在准备上云游戏

云游戏能解决的问题

a)兼容性问题。只要游戏在云游戏服务器上完美运行,在用户那里,就不会出现针对不同终端或者不同硬件的兼容问题,可以实现零bug。

b)配置问题。用户可以基本上无视自己终端设备的运算能力,不管这个游戏有多少多少G大,需求的显卡要多么多么好,只要是在联网的(假定带宽够)且能播视频的设备,就能玩游戏。

c)云游戏在价格上采用包月服务,价格足够便宜,产品足够多的情况下比盗版合适。

d)云游戏避免了病毒和插件等盗版游戏常见的问题,更安全,对于用户也是保护。

视频串流介绍

通过一个小的客户端,玩家可以在PC、主机、移动端上订制游戏内容。游戏本身在运营商或游戏公司的服务器运行,经过视频压缩,串流到小的客户端进行操作。这样做的好处是玩家不需要购买游戏主机、或者高配置的PC就可以玩到游戏大作。玩家在客户端的指令传到服务器,服务器记录指令,并发回游戏对指令的回馈。经营这种云游戏模式的公司包括:CiiNOW, Ubitus, Playcast Media Systems, Gaikai(被索尼收购)and OnLive, 北京云联科技、百度云游戏

文件串流介绍

基于文件串流的云游戏,也叫渐进式下载。(比如APOLLO的微端)游戏使用一个小的客户端,游戏本身在终端游戏设备运行,如移动设备、PC、主机。开始时,只需下载游戏的一小部分,国外通常的比例是小于游戏大小的5%, 玩家便可以开始游戏。剩余的游戏内容在游戏过程中逐渐下载。这样做的好处是低带宽的玩家可以很快的开始游戏。此处的云端用来1.串流一个可扩展的游戏内容,和2.大数据分析。在这方面领先的公司包括: Kalydo, Approxy 和SpawnApps。

指令流实现方案概要及难点和解决方法

实现方案概要:基于通用的3D API(OpenGL、Driect3D),截获游戏对API的调用信息及资源,进行针对性的压缩,在client使用这些信息调用API进行渲染。

实现难点及解决方法:

a)设备之间的兼容性:需要保证双向设备都渲染正常;设备支持的特性交集

b)性能与流量之间权衡:压缩与性能之间调整,保证整体效果最优;帧与帧之间存在强关联性;针对性的Diff算法及优化,Diff策略控制

c)多线程渲染:区分不同的线程,在client进行合成

d)声音的体验优化:同样的基于指令,但要实现多套API,声音缺乏统一的API

端游指令流介绍

基于指令流的端游,在原理、与架构上与终端游戏的指令流是一致,区别在于,API调用时产生的数所量级大,也视频流方案也大很多,因此需要针对数据做细分压缩;在服务器端,需要实现Virtual DirectX3D,摆脱对显卡、显示器的依赖。

云游戏分析工具介绍

1、开源视频流云游戏解决方案:GamingAnywhere,主机支持OS X,Linux,Windows,客户端支持iOS, Android, Windows, Linux;

2、“指令流”分析工具:ApiTrace,录制OpenGL,DirectX的指令,回放分析游戏

“指令流”数据压缩比50:1的实现

1、Api信息:对Api ID,整型、枚举型、指针型、Buffer型参数分类压缩;

2、帧压缩:对两帧之间的Api信息,大块Buffer,差异压缩

视频流与指令流方案的差异性

视频流方案:

a)优点:兼容性较好,基于通用的视频编码标准(H.264等),绝大部分设备都支持;

b)缺点:需要的带宽较大;延迟较大;有损压缩,client不清晰

指令流方案:

a)优点:对于不是特别复杂游戏,所需的带宽具有明显优势,且延迟更小 ;无损传输,client实现同样的画质;

b)缺点:实现难度较大;需要解决设备之间的兼容性

专家点评分享

一讲云游戏,我们都会说国内网络不行,所以美国能做,国内不能做等等。但是我找了一些数据表明在家庭里面的高端用户的互联网带宽从二三十年的统计大概是每一年增长1.5倍不过这个是高端的用户。之后我在百科找到,去年中国的平均带宽是大约3.8兆而美国是11.5兆。就是说如果我们一直按照这样的速度去发展的话大概是不到3年时间我们国内平均的的带宽就可以追上美国现在的带宽,所以说如果美国现在的云游戏、视频游戏能普及的程度,3年后中国是能达到那个水平的。云游戏很多人都说有两个主要问题:一个是带宽,另外一个就是延时,我觉得延时是比带宽困难很多的一个问题。因为你去问IT他都无法告诉你如果买一个10兆或100兆的宽带,能给你多低的延时,其实延时对于很多不是特别要求极端的人来说,不非常重要。你会用带宽在网上看视频,这时候它有延时对你来说是感受不到,就算它是一个直播足球的一个屏幕,延时一秒钟你看上去也是很流畅的。只是你看到那个入球比别人慢了一秒,别的不会感知到。但是对于云游戏这种互动的实时游戏来说,你按了一个设计按钮,但它一秒钟后才发出去的话,感受就会差很多。而延时不是这么简单可以降低的,因为我们知道物理上光速是一个限制,一秒钟可以绕地球7.5圈,这是不是已经很快的速度?但我们知道网络上每一个中转设备,都会增加一些延时 ,对中国这么大地方来说,肯定会经过很多不同的中转地方,而且电信商不希望用很高的成本去降低这个延时,所以我觉得这可能是国内一个不太容易去解决的问题。基于成本来说,就二三十年来看,我们买游戏机的成本 我们发现其实在是最近十年来说游戏机的成本还是增高的,就是我们现在ps4也是越来越贵的 这个说明我们游戏能够运行的平台硬件的成本不算通胀,都还是一直上升,也会有一个后台的比较低的成本。

将来如果我们做云游戏的话,后台需要的成本也会慢慢提升。指令流跟视频流的一个很大的区别就是成本。比如你要买一个好的PC玩游戏会比较贵,给到玩家比较有价值,如果是服务器的PC可能价格会更贵,因为对电影之类的应用有更高的要求。在成本上来说,指令流在战略上会有优势,也就是如果用指令流的话,客户端会有显卡,可能还是不插显卡的一个机器,那就是以前的云游戏的基本概念。需要一个thin client什么游戏都能玩的情况会不一样,我们对它还是有要求的,要有显卡,对于不同的游戏可能我们需要。比如说玩CF,比较差的显卡可以,但是玩COD可能就不行。在这个问题上,根据我的经验,做指令流还有几个特点:一个是初始的那个时间会比较长,视频第一帧编码传过去就能显示,如果是指令流第一帧要传过去客户端才能显示,大小跟游戏有关。如果有第一帧载入,就要先传两三百兆去客户端,才能开始显示第一帧,这个是一个问题。断线是另一个问题,在技术上可能是可以解决的,但比较困难。第三个可能是简单的游戏跟刚才一样就是把游戏引擎的输出图形 API以显示结果,整个过程是一个单向的流程。但是有一些游戏其实是会从显卡去读一些东西回到CPU的,我们还要在客户端补一个显卡的信息传回去后台里面 因为后台没有显卡。对于越来越新的游戏,可能会用到功能记忆比较多就是用GPU 做一些图形的应用,这个在未来可能会出现一些问题,另外,如果游戏有很多动态的内容,比方说用CPU做例子做其它特效,每一帧要更新几十万的数据,又把每一帧的数据传到客户端的话,带宽的需求也会比较多,压缩的成本可能也会比较多。我们做实验的时候发现COD每一帧对额数据量会大很多。音频的压缩就是有损的压缩。它是一个中性词,意思就是说 为了带宽或是其它成本,可以降低品质,品质是一个可缩放的情况,如果网络突然不好,我们会把品质降低一点,还可以玩一会,可能有点花屏,但是指令流的话我们最简单的是做一个无损的压缩,就是说无论怎么样我们都不能降低品质。

当然我们也可以做一些尝试,对指令流做一些有损的压缩,会复杂很多。那是不是可以把两者(指令流与视频流)依次取用?当然有,但又希望服务器没有显卡又想优先它是比较困难的事,而且你不能中间没显卡,想切到视频流又给它用显卡做这个事情是比较难的,可能在手机投射视频可以做到。但是传统的云游戏,用后台做云游戏,问题会挺大的。刚才也有同事提到应用环境,除了去试网之外,其实还有一个空间,我们现在越来越多的设备使用移动的设备,移动的设备主要是一个边缘的设置,可能永远没办法找到一个能达到PS4品质的方法,PS4很费电,手机不可能有那么多电来支撑,这个方面在云游戏来说是有一个好处。另外一个是在将来会有更多可穿戴设备,比如说google glass等,这可能运算能力更低,但是有更多的计算在云方面就可以做更多的云游戏。不过还是有一些没办法解决的问题,比如内存问题。这就是我对未来的一些看法。

问题集锦:

Q1:云游戏的优缺点有哪些?

A1:云游戏的优势主要表现在他很好的解决了下面3个问题

兼容性问题。只要游戏在云游戏服务器上完美运行,在用户那里,就不会出现针对不同终端或者不同硬件的兼容问题,可以实现零bug。

‚盗版问题。用户拿到的游戏,是一段被自己操作后得到的视频流。游戏内容由供应商集中购买。

ƒ 配置问题。用户可以基本上无视自己终端设备的运算能力,不管这个游戏有多少多少G大,需求的显卡要多么多么好,只要是在联网的(假定带宽够)且能播视频的设备,就能玩游戏。

云游戏的缺点也很明显,主要体现在吃带宽、服务器负载高、流畅度低、用户体验差等问题,需要一定的时间才能解决。

Q2:使用指令流和使用视频流,服务器会不会能支持的用户数有什么提升吗?指令流用户数会多一点?

A2:用户主应该没什么提升,如果有十六个显卡,比如说一个游戏一个显卡,那就是运行16个G,如果说分。如果CPU没占满,再加上第十七个游戏他就运行不了了,那么若是用指令流的话,如果CPU还够的话,就可以加到第十七个、十八个。理论上是指令流用户数会多一点,但是如果一个游戏就把CPU占了100%的话,第二个就加不了,也就是要看运行什么样的游戏?现在的游戏一般都是GPU是平级,然后CPU不会跑满,所以基于这个观察就说指令流可以跑更多的游戏,但这具体好事要做一些实验去证明。

原文发布于微信公众号 - 腾讯WeTest(TencentWeTest)

原文发表时间:2015-05-18

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

编辑于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏腾讯大讲堂的专栏

大数据在服务器运营中的应用

腾讯公司从2012年开始,通过对服务器运营流程、工具系统的建设,服务器从一线到三线的运营基本转入线上自动化。在服务器静态配置、动态的运行状态和生命周期各个节点的...

28510
来自专栏华章科技

如何在三年内快速成长为一名技术专家

工作前三年是职业生涯中成长最快的几年,在这段时间里你会充满激情,做事专注,也容易养成良好的习惯。在我们公司有些同学在前三年中就快速成为某一个领域的技术专家,有些...

762
来自专栏ThoughtWorks

一个遗留系统自动化测试的七年之痒|TW洞见

今日洞见 文章作者、图片来自ThoughtWorks:胡志芳。封面图片来自网络。 本文所有内容,包括文字、图片和音视频资料,版权均属ThoughtWorks公司...

3428
来自专栏鹅厂网事

基于服务器部件标准化的弹性运营方案

"鹅厂网事"由深圳市腾讯计算机系统有限公司技术工程事业群网络平台部运营,我们希望与业界各位志同道合的伙伴交流切磋最新的网络、服务器行业动态信息,同时分享腾讯在网...

40510
来自专栏SDNLAB

现代数据中心标准COTS服务器的演进

数据中心内的x86商用成品(COTS)服务器的标准化已经经过了很长时间,因为该架构提供了多功能、低成本、易于集成、更有效地维护和管理配置文件,总而言之,其成本低...

3414
来自专栏FD的专栏

写一篇好的技术文章有多难?

注意:这里所指的技术文章,不是某个问题的相关回答。而是着重于一些知识要点、架构等等,复杂的文章。

942
来自专栏DevOps时代的专栏

DevOps 三步工作法之持续反馈的技术与案例

导言 很高兴参与DevOps时代社区的拆书联盟第一季活动,有幸能与几位DevOps大牛一起解读《DevOps Handbook》一书,这本书作者牛,内容也很牛,...

2747
来自专栏人称T客

云存储详解,企业数据该如何上云?

2865
来自专栏Jerry的SAP技术分享

SAP成都研究院飞机哥: SAP C4C中国本地化之微信聊天机器人的集成

今天的文章仍然来自Jerry的老同事,SAP成都研究院的张航(Zhang Harry)。关于他的背景介绍,请参考张航之前的文章:SAP成都研究院飞机哥:程序猿和...

1410
来自专栏

c/c++程序员的技术栈

在当今的互联网时代, java,  安卓, ios, 大行其道,而c/c++却显得越来越落寞。 其实这并不是c/c++程序员本身的问题,而是这是一个产品快速响应...

46810

扫码关注云+社区

领取腾讯云代金券