云游戏:压力测试5 Internet不良的云游戏服务

图片

大约一年前,我发表了文章“云游戏:对在弱PC上玩游戏的服务能力的第一手评估”它分析了在弱PC上为云游戏提供不同服务的利弊。在游戏过程中,我测试了每项服务并分享了总体印象。

在对那些文章和其他类似文章的评论中,读者经常分享他们对不同游戏服务的印象。通常对同一件事有反对意见。某人的一切都完美无缺,但由于滞后和fr带,某人无法玩。然后,我想到了评估这些服务在不同条件下(从理想到糟糕)的工作质量的想法。我们谈论的是网络的质量,因为用户远非总是能拥有快速便捷的通信渠道,对吗?总的来说,削减服务是通过模拟不同网络性能来评估服务。

到底有什么问题?


如上所述-作为连接。或更确切地说-在比赛中丢包。损失越高,玩家遇到的问题越多,他对游戏的满意度就越低。但是很少有人能拥有理想的通信通道,例如连接设备的光纤,并且具有专用的功能,并且不会在公寓楼的所有居民中流连忘返。

作为参考,在25 Mbit / s的连接速度下,需要40-50个数据包来传输1帧/帧。丢失的数据包越多,图片的质量越差,滞后和起伏也越明显。在严重的情况下,根本无法玩。

自然,云服务本身绝不会影响用户通道的宽度和稳定性(当然,这会很大)。但是随后您可以提供不同的方法来解决通信问题。哪种服务最能解决问题-请参阅下文。

我们到底在比较什么?


普通PC(英特尔i3-8100,GTX 1060 6 GB,8GB RAM),GeForce Now(俄语版GFN,在莫斯科设有服务器),LoudplayVortexPlaykeyStadia在除Stadia之外的所有服务上,我们都在The Witcher中研究游戏的质量。Google Stadia在撰写本文时还没有这款游戏,所以我不得不测试另一款游戏-Odyssey。

测试的条件和方法是什么?


来自莫斯科的测试。提供商-MGTS,资费为500 Mbps,电缆连接,而非WiFi。我们采用服务中的默认图形质量设置,分辨率为FullHD。

使用Clumsy程序,我们可以模拟网络问题,即各种类型和大小的数据包丢失。

均匀的单一损失。这是只有1个数据包丢失且丢失或多或少均匀分布的情况。因此,均匀丢失10%意味着每100个数据包每10个数据包丢失一次,但始终仅丢失1个数据包。该问题通常表现为从客户端到服务器的通道失真(屏蔽)。

我们测试了5%,10%,25%的均匀损耗。

质量损失不均当在某一时刻连续丢失40-70个数据包时。这种损失最经常是由于用户或提供商的网络设备(路由器等)出现问题而引起的。可能与用户服务器通信线路上网络设备的缓冲区溢出相关。壁厚的WiFi也可能造成此类损失。由于存在大量设备而导致的无线网络拥塞是办公楼和公寓楼非常典型的另一个原因。

我们测试了0.01%,0.1%,0.5%的不均匀损耗。

下面,我将分析所有这些情况,并应用视频比较进行清晰说明。在文章的结尾,我提供了所有服务和案例的原始,未安装的视频游戏玩法的链接-您可以在其中更详细地查看工件和技术信息(在除Stadia之外的所有服务中,技术控制台的数据均已记录;我没有从Stadia找到这些信息)。

走!


以下是7个压力测试场景和带时间戳的视频(该视频是相同的,为方便起见,在每个段落的正确时间开始观看)。帖子的最后是每种服务的源视频。多亏了他,一个好朋友帮助我制作了视频!

方案编号1。理想条件。零网络丢失


一切都应该在理想的世界中。没有通讯问题,没有空隙,没有干扰,您的接入点就是互联网的曙光。在这样的温室条件下,几乎所有测试参与者都表现出自己的价值。


PC

在每种情况下,我们都以PC上的游戏画面为参考。显然,网络质量根本不影响网络,游戏在本地PC上运行。这些框架的存在回答了以下问题:“在云中播放与在PC上播放相比是否有所不同”。在我们的情况下,在理想条件下,大多数服务都不会感觉到这种情况。下面我们将不写任何有关PC的内容,只是要记住它是。

GeForce Now

一切都很好,画面清晰,过程进行得很顺利,没有发丝。

涡流

涡旋破坏了我们的理想世界。他立即开始遇到问题-情况比其他人都糟,而且“刹车”清晰可见。一个可能的问题是游戏服务器的位置离莫斯科很远,再加上游戏服务器上的硬件似乎较弱,FullHD不能很好地导出。在所有测试中,Vortex的表现都很差。如果某人在玩Vortex方面有积极的经验,请在评论中写上,分享您的玩法以及一切进展情况。

Playkey

一切都很好,就像在本地PC上一样。可见的问题,例如fr带,滞后等。没有。

Loudplay

服务显示出出色的画面,没有可见的问题。

斯塔迪亚

尽管Google的游戏服务在俄罗斯联邦没有服务器,但是Stadia确实不能在俄罗斯正式运行,但该游戏服务仍然运行良好。但是,一切都很好。当然,很遗憾,Stadia在比赛时没有“巫师”,但该怎么办,他们参加了《奥德赛》,这也要求,也要约一个砍死人和动物的人。

方案编号2。均匀损耗5%


在此测试中,每100个数据包中大约有20个数据包丢失。让我提醒您,渲染一帧需要40-50个数据包。


GeForce Now

Nvidia的服务运行良好,没问题。画面比Playkey稍微模糊一些,但是The Witcher仍然可以播放。

涡流

这里的情况变得更糟。为什么-并非完全无法理解,很可能没有提供冗余或冗余很小。冗余是传输数据的纠错编码(FEC-前向纠错)。该技术可恢复由于网络问题而造成的部分丢失的数据。您可以用不同的方法来实现和配置它,从结果来看,Vortex的创建者并没有成功。即使有惨重的统一损失,它也不起作用。在随后的测试中,Vortex只是“死了”。

播放键

一切都很好,理想条件下相差不大。将公司的服务器放置在莫斯科(包括进行测试的地方)可能会有所帮助。好吧,也许前面提到的冗余可以更好地进行调整。 尽管丢包率相对较小,但

Loudplay

服务已急剧无法使用。有什么事吗我将假定Loudplay与TCP协议兼容。在这种情况下,虽然没有收到包裹的确认书,但没有发送其他包裹,系统将等待确认交付。因此,如果包裹丢失,将不会确认其交付,不会发送新包裹,图片将直立,故事结束。

但是,如果您使用UDP,则无需确认已收到数据包。据您所知,除Loudplay之外的所有其他服务都使用UDP协议。如果不是这种情况,请在评论中纠正我。

Stadia

一切均可玩。有时图片被像素化,响应延迟最小。也许它不能完美地制定出纠错编码,因此在整个流中可播放时,会出现较小的伪像。

方案编号3。均匀损耗10%


我们每百分之十的数据包丢失。这是服务的挑战。为了有效处理此类丢失,您需要技术人员来恢复和/或重新发送丢失的数据。


GeForce Now

Geforce在视频流方面有一些小缺点。据人们判断,GFN通过尝试减少网络问题来应对网络问题。该服务降低了比特率,即降低了数据传输的位数。因此,他认为,他正在尝试减轻质量不足的网络上的负载,并保持稳定的连接。确实没有任何关于稳定性的问题,但是视频的质量在此受到很大影响。我们看到图片有明显的像素化。好吧,由于建模假设丢包率为10%,因此比特率的降低并没有真正的帮助,这种情况不会恢复正常。

在现实生活中,图片很可能不会稳定变坏,而是会浮动。损失增加-图像模糊;损失减少-图像恢复正常,依此类推。当然,游戏体验不好。

Playkey

没有特殊问题。该算法可能会检测网络上的问题,确定损失的程度,并更多地关注冗余,而不是降低比特率。事实证明,在均匀损耗为10%的情况下,图像质量实际上保持不变,用户不太可能注意到这种损耗。

大声玩

不起作用,它只是没有开始。在进一步测试的过程中,情况反复发生。据人们判断,该服务不能以任何方式适应网络问题。也许应该指责TCP协议。丝毫损失会使服务完全瘫痪。当然,对于现实生活不是很实用。

涡旋

也是一个大问题。在这种情况下,您仍然无法玩游戏,尽管仍然有照片,而且角色仍在奔跑,尽管在抽搐中。我认为这几乎都是相同的实施不当或缺少冗余。软件包经常丢失,无法以任何方式还原。结果,图像质量下降到无法播放的水平。

斯塔迪亚

不幸的是,这里的一切都很糟糕。由于存在中断,因此屏幕上的事件会突然发生,因此播放非常困难。可以假设出现问题,就像在Vortex中一样,是由于最小的冗余或没有冗余而引起的。我咨询了一些“在主题中”的熟人,他们说Stadia很可能正在等待框架的完整组装。与GFN不同,它不会尝试通过完全降低比特率来节省情况。结果,没有伪像,但是出现了条纹和滞后(相反,GFN的条纹/滞后较少,但是由于比特率低,因此图像完全没有吸引力)。

其他服务似乎也不会等待框架的完整组装,而是用旧框架的一部分替换缺失的部分。这是一个很好的解决方案,尽管有时可能会出现伪影,但在大多数情况下,用户不会注意到捕获(每秒更换30+帧)。

方案编号4。均匀损耗25%


每四个包丢失。它越来越通常,通过这种“泄漏”连接,很难在云中正常进行游戏。尽管一些比较参与者正在应对,尽管并不完美。


GFN

问题已经很明显了。图像被像素化和模糊。您仍然可以玩,但这完全不是GFN刚开始提供的功能。绝对不是怎么玩漂亮的游戏。美丽不再受赏识。

Playkey

游戏玩法进展顺利。尽管图像有一点点损失,但仍具有平滑度。顺便说一句,在左上方是正在恢复的丢失数据包的数量。如您所见,已还原96%的数据包。

Loudplay

没有开始。

涡流

即使您有强烈的愿望也无法播放,fr带(停止播放图像,从新片段恢复视频流)更加引人注目。

斯塔迪亚

该服务几乎无法播放。上面已经提到了原因。在等待组装框架时,冗余是最小的,而这种损失是不够的。

方案编号5。不均匀损失为0.01%。


对于10,000个数据包,连续40-70个数据包丢失一次。也就是说,我们损失了200帧中的1帧。碰巧网络设备的缓冲区已满,所有新的数据包都只是被丢弃(丢弃),直到缓冲区被释放。比较中的所有参与者,除了Loudplay之外,都将这种损失计算到一个程度或另一个程度。


GFN

图片质量有所下降,不清楚,但是一切都可以播放。

Playkey

一切都很好。图片流畅,图像好。您可以毫无问题地玩游戏。

大声

播放图片的前几秒,英雄甚至跑了。但是与服务器的连接几乎立即丢失。哦,那个TCP协议。第一次损失使服务中断。

涡流

观察到常见问题。微风,滞后,仅此而已。在这样的条件下比赛将非常困难。

Stadia

可玩。小幅下降很明显,图片有时会像素化。

方案编号6。失衡损失0.1%


对于10,000个数据包,连续40-70个数据包将丢失10次。事实证明,我们损失了200帧中的10帧。

我必须马上说,大多数服务中都出现了明显的问题。例如,图片抽搐,因此冗余在这里无济于事。即,在使用冗余技术的情况下具有积极的效果,但是它很小。

事实是,对用户动作和游戏本身的反应时间是有限的,视频流必须是连续的。无论服务如何,都无法将流量恢复到可接受的质量。

图像出现伪影(试图补偿数据包丢失,数据不足)和抖动。


GFN

图像质量明显下降,比特率明显降低,而且非常明显。

Playkey

可以更好地应对-可能是因为对冗余进行了很好的调整,再加上比特率算法认为损耗不是很高,并且不会将图片变成像素化的混乱。

Loudplay

没有开始。 推出了

Vortex

,但画面质量很差。抽搐和缩编非常明显。在这种条件下几乎不可能玩。

Stadia抽动

清晰可见,这清楚地表明冗余是不够的。图片冻结,然后出现其他帧,视频流中断。原则上,如果您有强烈的欲望和自我折磨的临床倾向,就可以玩。

方案编号7。不均匀损失0.5%


对于10,000个数据包,连续40-70个数据包将丢失50次。我们将损失200帧中的50帧。

这种情况属于“统一pi *** c”类。您的路由器发火,提供商发生事故,电线被老鼠咬伤,但您仍然想在云中玩耍。您应该选择哪种服务?


GFN

如果可能的话,已经很难播放-比特率非常低。帧丢失了,而不是正常的图片,我们看到了“肥皂”。无法还原帧-没有足够的信息来还原。如果GFN完全恢复了。服务积极尝试使用比特率来节省情况的方式引起了人们对其使用冗余的意愿的怀疑。

播放键

帧失真,图像扭曲,即重复单个帧的元素。可以看出,大多数“损坏”的帧是从前一帧恢复的。也就是说,在新框架中有旧框架的一部分。但是图像或多或少清晰。您可以控制它,但是在动态场景中,例如在战斗中,您需要良好的反应-这很困难。

大声玩

没有启动。

Vortex已

启动,但最好不要启动-您不能玩。 在这种情况下无法使用

Stadia

Service。原因是需要等待框架的组装和冗余。

谁是赢家?


评分当然是主观的。您可以在评论中争论。好吧,当然首先是本地PC。由于云服务对网络质量极其敏感,并且在现实世界中质量不稳定,因此您自己的游戏PC仍处于竞争状态。但是,如果由于某种原因不存在,请查看评分。

  1. 本地电脑。预期。
  2. 播放键
  3. 现在的GeForce
  4. Google Stadia
  5. 涡流
  6. 大声玩

最后,让我再次提醒您,就抵御网络问题而言,它在云游戏中起着重要作用:
  • . UDP. , Loudplay TCP, . .
  • (FEC — Forward Error Correction, ). . , .
  • . , . — .
  • 后处理的配置方式。如果出现问题,则可以重置,还原或恢复帧,或者使用旧帧的片段完成这些帧。
  • 服务器与游戏玩家之间的距离以及铁的力量也极大地影响了游戏的质量,但是对于理想的网络来说也是如此。如果对服务器的ping太高,那么即使在理想的网络上,您的游戏也不会舒适。在这项研究中,我们没有对ping做实验。

如所承诺的,这里是所有情况下来自各种服务的原始视频的链接

All Articles