时间:2020-03-03 来源:互联网 浏览量:
Riot:在接下来的六个月时间内,我们将对英雄联盟客户端的后台基础架构进行一次调整和改进。为了跟进我们的进展过程,我们将分享两个主要客户端性能指标:客户端加载时间以及英雄选择延迟。在改进这两个指标的过程中,我们还会处理一些诸如bug、崩溃等问题。简单来说,我们要对客户端进行一次“清理行动”。
有玩家询问:Riot,你打算什么时候修复客户端?
这是很多玩家都在询问的问题,客户端状态不佳,还有很多的bug,太多的延迟(特别是在英雄选择中),以及其他很多的问题。比如崩溃、断开链接等等。我们以前承诺过要对玩家做些什么,但这些问题现在依然存在。
所以我们想尝试一些新东西,今天我们不再含糊地讨论一些我们的计划,而是分享具体的目标,我们在接下来的六个月内会进行明确分工和细节问题。
客户端:
去年年底,我们为客户端添加了一些工具,用来跟踪客户端内的一些性能指标。比如,客户端完全启动所需要的时间(从打开到进入游戏)。
我们希望这个时间低于15秒,即使是一些电脑运行比较慢的玩家也是如此。但是我们发现,目前对于一些玩家而言,可能需要三倍甚至四倍的时间。
而另一件主要的事情,就是我们一直在跟踪的“英雄选择锁定”时间。这是在选定你想用的英雄后所需要的时间,在这张图表中,你会看到英雄在9.22版本(橙色线)和10.2版本(蓝色线)中的平均响应时间。响应时间以毫秒为单位。
对于玩家而言,客户端的性能取决于他们电脑的运行速度,所以选择英雄的响应时间也有所不同。虽然锁定英雄时的延迟反馈并不太高,但依然会有玩家能够感觉到。从点击确定到真正锁定所用的时间大概是300毫秒,而70%玩家的延迟反馈在450毫秒以上,10%玩家的延迟反馈会达到800毫秒。
接下来优先考虑的目标:
1:我们希望将客户端完全启动所用的时间降低到15秒左右,即便是一些运行比较慢的电脑也是如此;
2:我们想让英雄锁定响应时间下降到100毫秒;
我知道你们在想什么,bug呢?崩溃和断开链接怎么办?
为什么要把这两件事放在第一位呢?因为在解决完全启动和锁定响应延迟的过程中,我们会清理和重新调整客户端基础架构。我们相信,在追踪这些目标的同时,我们能够解决这些bug和崩溃的问题。
我们目前的计划时间大概是6个月,我们相信会在实现这些目标方面取得有意义的进展。当然了,要想达到我们的长期目标,可能会需要更长久的时间。
我们要怎么做?
到目前为止,我们已经确定了导致客户端启动缓慢的两个主要问题。一个是我们的插件架构,随着客户端增加了更多的新功能,这个架构变得臃肿起来。第二个原因就是滥用驱动UI的avascript框架(称为Ember)。
现在客户端使用了太多插件和Ember,事实上,在客户端启动过程中,一共加载了41个不同的插件和16个程序。每一个都需要100毫秒到800毫秒不等的时间,这可不太好。所以我们的计划是将这些插件和程序进行合并,我们相信会为我们的工作带来很大的进展。
第一阶段:客户端完全启动
现在,可能有很多玩家需要40秒的时间才能完全启动。如果你也是其中一员,你可能会了解这种非常缓慢所带来的痛苦。如果当客户端崩溃时,你会收获“加倍”痛苦。
整个客户端有很多东西,比如通知、好友列表等等,它们都会在启动过程中启动插件和程序。因此,尽管我们将长期目标设定为,能让玩家将启动时间降低为15秒。但我们认为,在这个过程中,我们还将解决一些影响整个客户端的bug和效率低下的问题。
第二阶段:英雄选择
英雄选择引入了许多额外的插件和程序,简单来说,在英雄选择过程中几乎所有的步骤都会创建新的程序。比如交换英雄、更改召唤师技能等等。
你玩游戏的时间越长,这些程序就会堆积的越多,导致你的体验也越差。更复杂的情况是,在英雄选择过程中所采取的大多数操作都依赖于我们的服务器通信,从而增加了每次操作所带来的延迟。
要解决这个问题,我们必须从根本上改变英雄选择的后台基础架构。我们要重新研究如何在英雄选择期间,将所有数据从服务器传送到客户端,这需要一些时间。
我们还有其他一些宏伟的长期目标,可以让英雄选择更加高效,比如将整个客户端整合到一个没有插件的单一Ember程序上。但在短期时间内,我们还是希望能实现速度效率加快的目标。
现在还不清楚我们在这六个月的时间内能做得多好,但当我们走到取得了很大的进展时,我们会继续和玩家们来分享。