本站的文章小编为大家收集提供《英雄联盟》客户端将进行优化:速度加快 CPU使用更智能
近日,《英雄联盟》正式发布了客户端更新日志报告,并表示将提高客户端性能:加快速度,更智能地使用CPU,减少崩溃。以下是官方原文。
我们承诺不时分享联盟客户端性能和可靠性更新的进展。
本文是本系列的第七篇文章。( 这是第一篇、第二篇、第三篇、第四篇、第五篇、第六篇的链接。)
摘要:2021年第一季度,我们开始升级Chromiumium Embedded Framework(CEF)这条路。目前还有一些工作要完成,预计新版CEF将在第二季度末完成,给玩家带来更多便利。
Chromiumium Embedded Framework(CEF)
正如我们上次提到的,最近的重大项目之一是客户端Chromiumium Embedded Framework(CEF),也就是说,联盟客户端架构的核心网络浏览器的版本更新。坦白说,上次我们低估了这项工作的重要性。CEF升级是最具影响力的客户端优化,无论是直接受益还是赋予其他优化权力。
CEF最后一次升级是在2019年11月(版本74),而写这篇文章时,最新版本是CEF 90.CEF升级(目标是CEF 90)将带来以下好处:
● 减少客户端崩溃
○ 过时的CEF版本在一些硬件上表现不佳。早期数据显示,大多数崩溃是由CEF版本过时引起的。我们坚信,升级后,玩家的崩溃次数会减少。
● 兼容性优化
○ CEF团队对新版本进行了大量硬件组合的详细测试。联盟客户端可以免费享受这些测试结果。
● 加速WebSocket性能加速
○ 联盟客户端包括两个部分:“前端”部分与用户进行视觉交互,“后台”部分要小得多,负责后台运行,从服务器获取数据,跟踪客户端的所有信息,以便向用户呈现正确的最终结果。背景工作的例子:
■ “玩家选择在游戏中关闭客户端,现在已经进入游戏,关闭前端,游戏结束后再打开。”
■ “玩家刚刚打开了收藏标签。里面应该有哪些英雄?”
○ 简而言之,WebSocket是连接前端和后台的管道。拓宽管道,减少转弯和打结的地方,数据传输可以越来越快,这就是新版CEF能给我们带来的好处。特别是对于使用早期硬件的玩家来说,WebSocket的优化对改善大量数据传输(如游戏结束、英雄选择)的效果更为明显。与我们的CEF版本相比,优化范围可以达到:
■ Windows速度加快4.1倍
■ Mac速度加快7.8倍
● 优化动画性能
○ 具体来说,它是基于数据生成的动画效果,比如游戏结束页面的体验条(有很多类似的地方)。这些动画在技术上是一种内存泄漏,因此客户端在长过程中的整体性能也会得到提高。
● FPS升降-延迟降低,点击响应速度加快
● 开发难度较低(即更快、更可靠)
○ 在较长的游戏过程中避免内存泄漏的方法更多
○ 一种新的测量标准,可以更好地提供客户端在屏幕上显示信息所需时间的数据
● CPU使用更智能
○ 在目前客户端CEF版本(74)中,一种叫做“网络服务”(Network Service)该功能首次亮相,通过一条线路将所有网络请求输入CPU,使其他线路能够完成更多的任务,如加载内容等。因为这个功能在我们上次更新CEF的时候刚刚推出,没有时间测试,所以没有启用。在下一次升级中,您可以计划在联盟中支持此功能。
● JavaScript性能优化
○ 新的CEF版本大大优化了处理JavaScript的v8引擎。例如,兼容性优化,只需升级版本即可获得。
上个季度,我们的工作重点是升级现有的网络组件(如视频嵌入、弹出提醒等网站技术),使其版本与新的CEF版本兼容,以确保CEF本身的升级不会造成任何问题。我们希望这些组件的升级能够实现无缝体验,所以我们不应该注意到过去几个补丁中逐渐推出的升级。这些升级涉及到大量的代码,所以偶尔会出现测试中漏掉的小问题,但都会立即处理掉。
完成这些组件升级最多需要几周时间,然后我们就可以开始升级CEF本身,并期待在2021年7月底完成。
社交面板
我们上次提到的另一个关键区域是社交面板。我们的长期计划是将社交面板从ComponentJS(旧架构)转移到Ember。目前我们的精力还集中在CEF升级上,所以这项工作暂时搁置,但是我们已经完成了Ember迁移所需的一些早期步骤,CEF升级后会继续。
以下是我们在工作重点转移到CEF升级之前解决的一些社交面板问题:
1. 社交面板无法连接
2. 好友列表不能加载,状态显示不正确,好友数据问题
3. 玩家在普通游戏中,悬浮卡不显示排名信息
4. 启动时,在断开连接、悲伤的魄罗和朋友列表加载之间跳跃
内存占用和JavaScript错误更新
我们还继续关注同一会话中游戏的内存占用情况。我们很高兴看到,自补丁10.25以来,游戏的平均内存占用量下降了约30MB,整体内存不足和崩溃的数量继续下降。
最后,我们想谈谈JavaScript错误。在最后一篇文章中,我们提供的拳头各地区玩家遇到的JS错误数据是错误的。在10.25版中,这个数字达到了惊人的2.65亿。幸运的是,玩家实际遇到的错误数量并没有改变,但我们的测量方法发生了变化,从而进一步意识到了这个问题的紧迫性。此后,我们的每个补丁平均减少了1.4亿次错误,并有信心继续减少错误的数量。
目前的计划
尽管我们最近的重点是CEF升级,但我们也在计划2021年的其他项目。
● 将社交面板迁移到Ember
● 重新审视比赛的结束(EOG)页面。去年年底和今年年初,我们处理了比赛结束时的几个主要问题,但仍有待改进。许多玩家仍然反映出返回客户端的时间太长,或者比赛结束时页面死机的问题。项目开始后,第一步是了解客户端与游戏中引擎和服务之间的所有互动,然后考虑如何优化体验。EOG调用了很多客户端团队以外的服务,我们需要与其他团队合作,一起进行优化。
● 进入英雄选择页面延迟。这个问题在一些地区的报告频率很高,这表明玩家的网络连接是一个非常重要的因素(不同地区的网络基础设施不同)。虽然我们不能做太多的网络问题,但我们仍然会与竞争团队合作,以确保玩家在合理的时间内进入客户端的英雄选择页面。
● 客户端在长会话中的稳定性。去年年底,我们发现了内存泄漏,导致客户端在玩家长时间打开多个游戏或客户端时占用内存的紧急问题越来越多。经过更全面的跟进,我们将寻求更直观的方法,让玩家在登录客户端时保持体验,无论他们玩了多少游戏或客户端打开了多长时间。这部分修复工作可能会不断加强,解决更多难以处理的内存泄漏问题,但我们也需要与其他短期解决方案进行比较。
这就是我这次想说的!当然,我们工作的主要动机之一是来自各种渠道的反馈,包括定期的玩家调查。欢迎继续反映需要改进的客户端问题,以及对您体验影响最大的改进!