云游戏是如何实现的

170 天前
 horou

一台服务器设备如何运行多个游戏,画面输出到不同的远程端,玩家的按键操作是如何隔离的, 是不是需要用到类似虚拟机的技术

2009 次点击
所在节点    程序员
16 条回复
AoEiuV020JP
170 天前
以我有限的理解,有些专业显卡是可以多个虚拟机共享加速的,主要靠的应该是这个,其他普通虚拟机技术就可以,
horou
170 天前
@AoEiuV020JP 其他的东西普通虚拟机是一个完整的系统吗,每开一个游戏就启动一个虚拟机,这样会不会非常耗费性能资源
fatigue
170 天前
根本不会用到虚拟机技术,客户端其实就是相当于看视频做交互,服务端渲染整个世界,每个玩家对应一个自己的摄像机处理遮罩这些,大致原理是这样,关键点就是服务端渲染优化,尽量减少重复渲染。这是我几年前还在游戏行业时云游戏的了解,不知道现在演进什么样了
miaomiao888
170 天前
说是云游戏其实就是特定优化过的远程云电脑
gam2046
170 天前
@horou #2

XBOX: 好像在点我?

---

xbox 主机上,每个游戏都是虚拟化隔离开的,底层采用的 hyper-v ,因此也就支持 Quick Resume 这种逆天的用户体验。也正因为虚拟化隔离的,微软自己号称是最安全的游戏主机,毕竟即使某些应用有 bug ,由于虚拟化的存在,也还需要沙盒逃逸,才有可能破解主机。

在硬件支持的情况下,虚拟化的开销远远没有想象大,不是跑分或者极限场景下,几乎不可感知。
flyqie
170 天前
@fatigue #3

事实上,现在的云游戏都是 vm 或者 container ,gpu 这边可以做 vgpu 或者直通,看财力了。

一般传输都是走 webrtc 什么的 p2p ,自己搞个纯 cs 协议做云游戏的不多。

你说的那种模式不适合商业化平台,与单一游戏耦合过密。
flyqie
170 天前
@gam2046 #5

说起这个,我倒是很怀疑巨硬自己家云游戏用不用 windows container ,看起来似乎不用,要是用的话 windows container 也就不会发展的这么离谱了。

2024 年了,windows container 还是没有支持 gui 的迹象,之前偷偷扔的或者是没删干净的 rdp 功能在被人发现之后就给删了。。

没 gui 的 windows 用户量和场景非常局限,搞不懂巨硬是啥原因。

要是 windows container 有 gui 的话,目前云游戏方案又能更上一层楼。。
pengtdyd
169 天前
我觉的这个思路有问题吧,现在不是边缘计算大行其道吗,怎么又把边缘的任务拉回服务器处理了,这有什么好处吗?
flyqie
169 天前
@pengtdyd #8

设备性能不够,或者需要试玩。

边缘计算不适合云游戏场景。。
zpxshl
169 天前
虚拟机呀。如果是手游的云游戏,可能用的还是手机端的 cpu 。
flyqie
169 天前
@zpxshl #10

移动端云游戏主流方案是 arm cpu + aosp container
gam2046
169 天前
@flyqie #7 微软自己这套玩意,毕竟不开源,也没有什么技术分享,作为外部人员,盲猜起来,container 大概率还是得有的,xbox 主机我也有,xbox 云游戏我也体验过,只是这一套目前可能只给了微软内部自己用,也许是魔改的程度比较高,相较于用户版本的 Windows ,非游戏场景下的可用性不满足用户使用。

而且仅云游戏这个市场,微软可是近乎行业老大(虽然整个市场也并不大,就这一点,微软在收购暴雪的时候,可有一顿扯皮),其他家看起来做云游戏更像是玩票性质。

当然也有可能就是微软不想放出来,虽然近些年来,拥抱的开源,但归根到底是商业公司,有自己的考量,也不能排除这种可能的。

而且有很重要的一点,如果不采用容器化的方案,那么整个业务的伸缩性就很糟糕了,我自己不从事游戏行业,但是拍脑袋想,这类业务应该是具有明显的业务波峰波谷,并不具有较为平滑的业务量曲线。那么为了高峰期的业务平稳,也会徒增很多成本。

所以,我个人无任何证据的猜想,微软还是采用容器化方案的,但是由于各种能说的,不能说的原因,并没有将这些功能下方到用户侧。
horou
169 天前
@flyqie 大佬,现在有没有开源的云游戏 vm 的方案呢
zpxshl
169 天前
@flyqie 怎么得出手游云游市场主流是用 arm 而不是板卡呢?
flyqie
169 天前
@zpxshl #14

板卡也是 arm cpu 啊。。

板卡成本高,而且不是很灵活,我确实见过用板卡的,但云游戏(不是云手机)用板卡的貌似确实不多。
flyqie
169 天前
@horou #13

没有,也不太可能有。

因为云游戏都是商业化的,开源方案很难做。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1005578

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX