多开之后,最先变慢的常常是打开包裹、切换地图这类轻动作,打怪那边反倒看不出什么变化。有人怀疑是代理线路的问题,也有人觉得是机器不够用,两种猜测都有道理,但要分开看才找得到原因。这类动作单个只等几百毫秒,本来不引人注意,一旦几个窗口同时做,等待就会堆起来,体感立刻变得不一样。
先分清是哪一段在等
本地这一段:渲染与读取
打开包裹其实包含两步,一步是从本地读出界面资源,一步是向服务器确认这个角色现在的状态。前一步吃的是内存和磁盘,几个客户端同时开工时,谁抢到资源谁就先画出来。这一步慢了,表现是界面已经弹出但内容还空着,点下去半天才高亮起来,看着像卡住,其实网络一点问题都没有,问题全在本机这一侧。
网络这一段:等一个来回
第二段要等一次请求往返。轻动作的请求量不大,但对单次往返的稳定性要求更高,因为它没有重试的余地,慢一次就是慢一次。一个窗口等待时人没有感觉,几个窗口同时等,排队就出现了,而且排在后面的那一个,往往要多等上好几倍的时间才轮得到。
两类等待的判断顺序
先单开测一遍,确认本地这一段是正常的,再多开测一遍,看等待是不是随时段起伏,最后把几条代理IP对调,看表现是不是跟着线走。三步做完,问题落在哪一边就清清楚楚,不用再靠猜。
代理网络这一层怎么影响
几个号共用一条代理IP线路时,轻动作的请求会和挂机、自动寻路的请求挤在同一条线上。一条线的处理量是有限的,抢不到的那部分就得等下一轮,等到前面腾出空位了才被处理。给每个窗口单独安排一条代理IP,轻动作的响应就不会彼此排队,这是多开体验里最容易被忽略的一处。
| 安排方式 | 界面响应 | 主要瓶颈 |
|---|---|---|
| 单开直连 | 点开即出,几乎无感 | 本地 |
| 多开共用一条代理IP | 偶尔顿一下,越忙越明显 | 线路排队 |
| 多开一窗一条代理IP | 各自独立,忙闲互不影响 | 本地为主 |
- 先单开测一遍,确认本地这一段是正常的
- 再多开测一遍,看等待是不是随时段起伏
- 最后把几条代理IP对调,看表现是否跟着线走
判断的顺序值得留意,本地这一段是固定的,网络这一段会随时段变。两条对照着看,基本就能确定问题落在哪一边,也省得在没问题的方向上来回折腾。
先看本地,再看线路。
把两条线分开之后,多开的轻动作体验其实很好恢复,多数情况下只需要重新分配一下代理线路的归属,根本不用再添机器。
