英雄联盟lol客户端升级曝光
那么你可能也想问,我们会怎么做?
我们要做什么?
我们发现了两大减慢启动速度的架构问题(这真的是一个漫长而曲折的过程)。首先是我们的插件架构,它允许我们将客户端代码划分成一些有用的大模块。但是因为我们给客户端增加了很多新的功能,这个架构变得越来越臃肿。其次,我们没有有效合理地使用驱动我们用户界面的Javascript框架(称为Ember)。
目前客户端使用太多插件和Ember程序。实际上,在客户端完全启动期间,将加载41个单独的插件和16个程序。每一个都需要0.1到0.8秒的启动时间,加起来可能是一个很大的数字。
我们的计划是将这些插件和程序集成并大大简化为几个(理论上更有效的)插件和程序。我们将首先关注那些在启动过程中启用的,因为我们相信这将为客户端的性能提升带来最大的好处。
第一阶段:全面启动。
现在有些玩家的电脑完全启动需要很长时间,可能要40秒才能启动。如果你也是其中一员,你就知道这种体验有多漫长,如果再遇到死机问题就更痛苦了。
客户端有很多内容,比如通知、好友列表、收藏标签,都会受到那些启动时启用的插件和程序的影响。所以,虽然我们说长期的追求是将第90百分位播放器的完整启动时间降低到15秒,但是我们相信在这个过程中应该会解决大量影响整个客户端的bug和低效内容。
主攻几个月后,我们会评估自己离目标还有多远,然后& mdash& mdash可能是春天结束了& mdash& mdash我们将转向下一个重点来处理英雄选择。
第二阶段:英雄选拔
Hero Choice推出了更多附加插件和Ember程序。简单来说,几乎你在英雄选择中所做的一切都会创造一个新的程序。交换英雄会产生两个。换召唤师技能也是如此。
单次体验内,玩英雄联盟时间越长,这样的程序就会越多,互相堆积,体验可能会更卡。而且你在选择英雄的时候,大部分动作都是依赖于和服务器的沟通,这可能会进一步增加交互的延迟。
英雄评选真正的根源问题是我们后端系统管理数据的方式。目前我们采用的英雄选择架构允许我们通过系统传输大量有效数据。比如拳头在排位赛中决定禁用一个英雄,那么几乎所有玩家的英雄都会立刻被禁用。只要这个禁用被推上线,即使是英雄选择过程中的玩家也将无法继续使用这个英雄。
这是一个极其强大的系统,但它需要非常强大的马力才能工作。就目前的系统设置而言,这个过程中有很多不必要的入口和瓶颈。有时候,哪怕一个小小的输入变化,也会有无数的数据需要重新渲染,影响大家在客户端的体验。
要解决这个问题,就得从根本上改变英雄选择后端架构的方式。我们将重做英雄选择期间所有数据从服务器传输到客户端的方式,这将需要一些时间。
我们还有其他雄心勃勃的长期追求,以使英雄选择更有效,例如将整个客户端集成到一个没有任何插件的Ember程序中。但在短期内,我们希望引入足够的变化,使客户端按照上述目标高效运行。
至于六个月的结束,我们离& ldquo还有多远?完美。它有多远还不知道。但是到了最后,我们觉得自己可能已经有了很大的进步,对未来有了更清晰的方向。
未来方向
每隔几个月,我们会通过开发者日志与大家分享我们的进展,日志里会充满性能数据、干货以及项目进度调整的相关介绍。
祝我们成功!感谢大家成为英雄联盟的一员。我们以后再谈。