今天去参加了在腾讯北京总部的腾讯音视频技术 HUB 技术巡回大会,对其中的云游戏应用的探讨格外感兴趣。正巧最近元宇宙概念很火,这篇文章就大会中对云游戏的探讨进行总结和汇报。

讲述一下来自Intel的工程师的内容。他讲述的内容主要在于Intel在GPU上尤其应用于云游戏的GPU的投入。试想未来在GPU领域,三国争霸,分别是NVIDIA、AMD、Intel,显卡的价格或许会下降,利好消费者。

下图所示是Intel提供的云游戏参考框架。其中主要包括三个部分,分别是:Androld in Container(AIC)、Intel Bridge Technology(IBT)、Intel Cloud Rendering(ICR)。AIC通过在Intel架构上的Linux主操作系统,提供安卓环境来跑安卓游戏。IBT是即时的后编译器,可以集成到AIC中,以使某些未用Java编写或者不是基于Intel设备编译的安卓软件能够在这些设备上运行。ICR应该是应对于云游戏应用中最重要的一部分。从图片中可以看到,ICR中包括了编解码器、渲染和GPU UMD等部分。

安卓云游戏参考架构

云游戏作为一个交互式极强的模式,可能会是下一个音视频的爆点。然而,时延一直是手游云游需要攻克的难点。在Intel的GPU及硬件支持下,一帧的编码可以优化到几毫秒内。而渲染主要步骤都在GPU上完成,减少了因数据移至CPU的mermory上所耗损的时间。目前,整个的Latency大概每一帧是25ms。

下图是Intel的GPU应用于云游戏与nvidia的性能对比。虽然不知道这个结果的得出是否客观,仅从数据上看,H3C XG310性能远优于nvidia T4。

其还提到现在云游戏的发展面临两个方面的挑战,一个是技术上积累的问题,是否到了快要“厚积勃发”的地步,在我看来,那是当然的,5G+云计算+边缘计算+VR,哪个不是云游戏的帮手?一个是用户的使用习惯问题,他打了个看电影的比方,以前看电影很多需要先下载,而现在没有人有这个习惯,试想游戏也不用下载,直接就可以玩,那该是怎样的及时满足感。然而,这个愿想仍需要大量的投入和研究,目前云游戏成本依然会比普通游戏多出五到十倍。

然而他提到的一个点,我是不太同意的。他说到云游戏不可能做到现在的服务端-客户端模式下的延时。在我看来,现在云游戏的开发方向还很单一,要么就是渲染全部放在云上,即视频流实现,要么由终端进行渲染,即指令流实现。然而这两种方式在我看来还是太粗暴,要么没有利用终端的硬件条件,要么没有充分发挥云上的高效计算能力。

注:指令流和视频流的分类是参考腾讯的标准。

指令流实现:游戏运行在边缘计算节点中,通过带有支持图形API的虚拟GPU或者软件图形库,复制游戏下发的图形API,并序列化为指令流,将指令流通过网络传输到带有GPU的终端,由终端运行指令流,并渲染出游戏图像,同时终端将操作指令如鼠标,键盘,触控等数据回传到服务器中。

视频流实现:游戏运行在带有GPU的边缘计算节点,将GPU生成的游戏图像转换为H.264/H265的视频流以及音频数据,通过网络传到终端,同时终端将操作指令如鼠标,键盘,触控等数据回传到服务器中。

腾讯与Intel就云游戏的探讨的更多相关文章

  1. GDC快讯,腾讯CMatrix布局云游戏B端领域

    2019年3月20日-22日, GDC游戏开发者大会(Game Developers Conference,以下简称GDC)于旧金山召开.每年的GDC大会上,来自世界各地,数以万计的游戏开发者们都会分 ...

  2. 引领技术变革,腾讯云、腾讯WeTest和英特尔,合作布局云游戏

    WeTest 导读 ChinaJoy作为中国泛娱乐产业年度风向标,受到全球业界的高度关注.在本届ChinaJoy上,腾讯云.腾讯WeTest和英特尔,合作为游戏玩家.游戏开发者等业界人士联合展出了云游 ...

  3. 腾讯云游戏服务平台CMatrix品牌全新升级为GameMatrix

    近日,隶属腾讯互娱公共研发运营体系(下文称CROS)下的云游戏服务平台CMatrix宣布进行品牌升级,启用全新商标Tencent GameMatrix,将原先代表云服务的“C”替换成游戏的英文单词“G ...

  4. 深耕品质,腾讯WeTest《2018中国移动游戏质量白皮书》正式发布

    本文由云+社区发表 作者:腾讯WeTest 原文链接:https://wetest.qq.com/lab/view/437.html 对于游戏行业的不少人来说,2018年是一个多事之秋. 放眼大局,游 ...

  5. Atitit s2018.2 s2 doc list on home ntpc.docx  \Atiitt uke制度体系 法律 法规 规章 条例 国王诏书.docx \Atiitt 手写文字识别 讯飞科大 语音云.docx \Atitit 代码托管与虚拟主机.docx \Atitit 企业文化 每日心灵 鸡汤 值班 发布.docx \Atitit 几大研发体系对比 Stage-Gat

    Atitit s2018.2 s2 doc list on home ntpc.docx \Atiitt uke制度体系  法律 法规 规章 条例 国王诏书.docx \Atiitt 手写文字识别   ...

  6. MTSC2019-腾讯WeTest独家揭秘移动游戏测试和质量保障 QA 黑科技

    WeTest 导读 TesterHome 联合腾讯 WeTest 出品 MTSC2019 重磅游戏测试 Topic ,首次公开揭秘腾讯亿级用户游戏背后的质量保障 QA 黑科技. 2019 年,中国游戏 ...

  7. 校准产品质量,把控出海航向,腾讯WeTest《2019中国移动游戏质量白皮书》正式开放预约

    作者:wetest小编 商业转载请联系腾讯WeTest获得授权,非商业转载请注明出处. 原文链接:https://wetest.qq.com/lab/view/483.html 每当步入一个新的年份, ...

  8. 云游戏学习与实践(二)——安装GamingAnywhere

    安装GamingAnywhere 一.GamingAnywhere项目 GamingAnywhere是一个开源的实现云游戏的引擎,并且高效.跨平台.易扩展.可调配. GitHub地址:https:// ...

  9. 云游戏真的来了,这次的搅局者是 Google,云游戏平台搭建

    索尼.微软.任天堂和 Steam 等几家平台商的博弈. Google:云计算将会彻底改变我们的游戏方式 名为「Stadia」的全新游戏平台 和我们平时看到的索尼 PS4.微软 Xbox One 以及任 ...

随机推荐

  1. 论文笔记:(2021CVPR)PAConv: Position Adaptive Convolution with Dynamic Kernel Assembling on Point Clouds

    目录 摘要 1.引言 2.相关工作 将点云映射到常规二维或三维栅格(体素) 基于MLPs的点表示学习 基于点卷积的点表示学习 动态卷积和条件卷积 3.方法 3.1 回顾 3.2 动态内核组装 Weig ...

  2. ;~ 小部分AutoHotkey脚本源代码测试模板样板.ahk

    ; ;~ 小部分AutoHotkey脚本源代码测试模板样板.ahk ;~ 请把一行或几行少量代码放到此文件中实际测试一下,;~ 看看测试结果如何,等到能够实现代码功能时再复制到自己的脚本代码文件中;~ ...

  3. Windows协议 LDAP篇 - 域用户和计算机用户

    域用户 查询域用户 通过SAMR协议查询(net user就是通过这种协议查询的),samr也不是一种专门的协议,是一个RPC接口 在impacket里有个脚本samrdump.py,就是专门调用这个 ...

  4. windows运行Tomcat配置自定义的jdk环境运行。

    找到tomcat下的bin目录下文件 setclasspath.bat 第二行加上你想运行的jdk路径即可. set "JRE_HOME=D:\Program Files (x86)\jdk ...

  5. 浅谈 SQL 注入(注入篇)

    一.SQL注入简介 1.1 什么是SQL注入 在用户可控制的参数上过滤不严或没有任何限制,使得用户将传入的参数(如URL,表单,http header)与SQL语句合并构成一条 SQL语句传递给web ...

  6. 当任意文件上传偶遇Safedog

    0x01 写在前面 渗透过程中可能会经常遭遇WAF,此时不要轻易放弃,绞尽脑汁竭尽全力,或许弹尽粮绝之时也是柳暗花明之日. 0x02 过狗上传 一次项目渗透过程中,找个一处上传功能 先上传图片,测试上 ...

  7. 017 PCIe总线的事务层(一)

    一.PCIe总线的事务层 事务层是PCIe总线层次结构的最高层,该层次将接收PCIe设备核心层的数据请求,并将其转换为PCIe总线事务,PCIe总线使用的这些总线事务在TLP头中定义.PCIe总线继承 ...

  8. Ajax 局部刷新 异步提交

    AJAX简介 局部刷新,异步提交. AJAX 不是新的编程语言,而是一种使用现有标准的新方法.它最大的有点就是在不重新加载整个页面的情况下,可以与服务器交换数据并更新部分网页内容. 浏览器朝后端发送请 ...

  9. NOIP 模拟 $14\; \text{队长快跑}$

    题解 \(by\;zj\varphi\) 一道很妙的 \(dp\) 题,方程状态不好设置,细节也不少 看到数据范围,直接想离散化 设 \(f_{i,j}\) 表示处理完前 \(i\) 个水晶,其中摧毁 ...

  10. Java线程池中submit()和execute()方法有什么区别

    两个方法都可以向线程池提交任务,execute()方法的返回类型是void,它定义在Executor接口中,而submit()方法返回有计算结构的Future对象,它定义在ExecutorServic ...