往steam添加epic,游戏下载就能加速?
我在好多地方看到推荐此方法,并且看到一些反馈说有效。但一顿分析实操下来,发现这是个谣言。
别急着反驳,后面我会分析为什么有些同学真的有效果。不看分析可以直跳文末总结
为什么epic的下载慢,不稳定?
我们大致了解一下epic自身下载游戏是怎么样的流程(才能做对比):
先来看下日常时的下载情况(非活动高峰)。验证客户端显示的下载速度是否真实,如图

使用电脑自带的powershell命令Get-NetTCPConnection查询当前epic的连接数。
可以看到epic客户端的并发下载并不小

再抓一下包过滤一下不是chunks块的请求(过滤出仅用于下载游戏数据的请求),

写一下脚本去重和获取归属地,可以初步得到结论:你下载一个游戏,epic会从分发网络(CDN)多个服务器给你下载,以此来提高速度

那么问题了,在霍格沃兹之遗免费送的那天,下载游戏速度波动巨大,或者一直低速是为什么?
其中一个原因你肯定想到了:下载的人太多,遍布全国的cdn节点都撑不住了。
但是还有一个原因,你下载时,被分配到了非国区节点

理想的情况是,epic从你最近的CDN节点下载这样最快,但是实际上epic会根据情况从其他城市,甚至跨国给你下载。
包括但不限于:
1、冷门资源,epic部分小众的游戏,速度远低于热门游戏,
2、当地cdn节点太忙(有大量下载请求),epic给你转到异地cdn
2、新游戏发行时(epic有没有做cdn预热我不是很清楚,如果没有,你首发时下载会很慢,因为cdn节点没有这个游戏,它要时间从主站拉取)
我举个冷门游戏例子:Lifeless Planet:Premier Edition
这个游戏不仅下载慢,还会速度突然归0。原因如图所示,大概就是epic的国内cdn没有这个游戏(不是,你们领了真不玩呀,哪怕有人玩也不至于直接换到国外节点下载)


回到标题里的问题,我们把epic添加到steam后开始下载游戏,监听请求。
如图所示,下载请求的地址依然不变,和steam没有任何关系。如果有关系,图里的服务器地址会变为本地

可是我添加了真的有效果你怎么解释?
你发现上图这个游戏的速度从前面的10Mbps提升到60Mbps了吗?因为经过刚才我第一次的下载,国内CDN已经缓存了这个游戏资源(不一定完全缓存完且不一定国内所有cdn节点都缓存)。
也就是说,不借助steam,epic你暂停下载,等一段时间回来,速度就会提升
我下的也不是冷门资源,加入steam怎么也起作用了?
大致原理同上,虽然这个游戏在国内有资源,但是因为负载均衡,你被分配到的cdn比较远或者分配给你的cdn现在也很忙,你就看到了下载速度非常慢。
你感觉有效果,其实和“点暂停,等几秒再继续”没有区别(暂停+继续会重新给你分配cdn)
省流总结
1、借助steam并不能提升epic游戏下载速度,你有感觉,其实就跟你暂停后继续下载是一样的
2、正确提速方式:速度慢时,点暂停,等一会再点继续(可能需要反复多次,以寻找最佳cdn)
3、游戏下载高峰提速:无解,只能找人拷贝游戏
还有其他网上看到的解决方法我大概过一下
使用64位epic启动器有用?
有用,而且很显著(但是话说应该大多数人启动器都是64位,epic会自动优先64位程序)。
使用UsbEAm Hosts Editor有用?
有用,但是UHE里的cdn是不全的,你选的ip可能还没epic智能选择的快。而且UHE写入host的ip如果失效、负载太高,你的epic很可能变得非常慢(epic会优先找hosts,如果ip超时它依然会自动选其他cdn,但是此时的cdn极有可能在国外,导致速度反而非常低)
本作品采用 知识共享署名-相同方式共享 4.0 国际许可协议 进行许可。
评论已关闭