客户端开发是做什么的_LOL的客户端到底是什么技术开发出来,不少人感觉新版客户端卡...

现在使用的LOL的新版客户端,很多人登陆之后会感觉加载会有卡顿,抛去硬件和网速的原因,我特意去研究了LOL客户端的开发技术,大致也了解了一些,因为运用了很多实时更新的技术,所以在登录后会有加载的问题。

很多玩LOL的玩家可能没有想过LOL的程序到底是什么架构的,恰好笔者学过几年开发,也是LOL资深的玩家,如果使用过LOL以前的客户端的老玩家,和现在最新的客户端相比,会有这样的感觉,以前的LOL客户端更像是传统的游戏普遍的客户端,实时互动的内容不多,而新客户端却更像是浏览器的一个个网页。

老版的客户端开发运用到了AdobeAir,但是后面随着LOL的发展,老技术已经出面了很多的问题,例如玩家在进行一场游戏的时候,希望保持登录,接受好友请求等,旧有的技术占用资源过高。

d138e15f26c5f94f9106217f3a8cae6f.png

LOL新界面

LOL的版本更迭很快,很多新功能需要添加,所以开发一个新的客户端就不得不提上了日程,这时候利用HTML5和JS来开发客户端是一个比较成熟的选择,所以新版的LOL客户端前段UI用到了HTML5和JS的渲染技术,业务逻辑和后端通信则是利用C++来处理。

所以我们看到LOL客户端的主界面的每一个操作就好像是一个个的链接,我们点击鼠标打开商店的时候,有时候会有一个刷新过程,并不是客户端设计的不好,实际上新版客户端设计的远比旧版要好。

前端的开发,用到了嵌入式Chromium框架,也就是简称CEF的东西,CEF基本的框架包含C/C++程序接口,,通过本地库的接口来实现,而这个库则会隔离宿主程序和Chromium&Webkit的操作细节,支持HTML5等技术,可以实现JS、HTML5、CSS的解析。

通过新的架构,用户可以实现很多的功能,各个模块是既有独立又有关联的,它们之间又通过某种机制保持通信的畅通,调用本地的英雄图片和声音资源,与好友联系,对局中的状况等都不会受到影响。

7bf8e8e483949d8546068a8e1892212b.png

启动lol后台进程

LeagueClient(主进程,承担前端、后端插件、与服务器通信)、LeagueClientUx(CEF承载进程,负责前段容器逻辑处理和LeagueClient通信)、LeagueClientUxRender(CEF承载进程,CEF承载进程,负责界面渲染等)。

因为前段和后端相互不受影响,这样我们在进入到游戏对局的时候,就可以选择把游戏的客户端关闭,如果你在游戏内的帧数较低、电脑配置较低,可以选择在设置中勾上这个选项,有利于玩游戏时的顺畅。

我想随着技术的发展,还会有更多的技术应用到LOL的开发中,现在的端游普遍对硬件的要求偏高,而LOL算是对电脑要求比较低的流行游戏了,即使是在配置很低的老机器上,也可以流畅运行。

eec1fb969fe9a12e7cd336f41a8b213a.png

LOL设置界面

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值