腾讯 QQ 技术团队 NT 桌面版内存优化阶段进展公布

社区服务
高级搜索
猴岛论坛QQ微信技术腾讯 QQ 技术团队 NT 桌面版内存优化阶段进展公布
发帖 回复
倒序阅读 最近浏览的帖子最近浏览的版块
2个回复

[QQ技术]腾讯 QQ 技术团队 NT 桌面版内存优化阶段进展公布

楼层直达
归遇

ZxID:5231

等级: 版主

举报 只看楼主 使用道具 楼主   发表于: 2023-08-07 0
8 月 7 日消息,腾讯 QQ 近期对桌面客户端进行了大刀阔斧的改革,三大系统平台都用上了全新 QQ NT 架构,基于 Electron 框架开发,因此也引来了用户关于“高内存占用、超大安装包、启动缓慢”等的担忧。

  日前,QQ 技术团队在 InfoQ 平台发布了一篇介绍文章,分享了其在内存上进行专项优化的阶段性进展。

  据介绍,新版 QQ 在内存上的挑战主要表现在以下 4 个方面:

  产品形态:由 1 个复杂的大面板(100+ 复杂程度不等的模块)和一系列独立功能窗口构成。窗口与渲染进程一一对应,窗口进程数很大程度影响 Electron 的内存占用。对于那个复杂的大面板,一旦没有精细控制就很容易导致内存持续走高。

▲ Electron 窗口多进程
   使用习惯:用户长时间挂机。相比用完即走的 Web 页面,QQ 用户在一次登录后,可能会挂机一个月以上。这段期间,如果没有控制好 QQ 内存使用,那么结果可能是内存越占越大、用户交互响应变慢、甚至发生闪退。

  版本迭代:已经 24 岁的 QQ 拥有众多的功能和特性,过去一年团队一直做这件事:从核心特性开始快速补齐 Windows 版本的功能,同时也有一些高优先级的新功能要上。持续且快速的版本迭代,很可能产生新问题,使性能劣化。

  应用架构:新版 QQ 依赖一个 NT 核心数据模块(C++ addon),为 UI 提供本地化的数据服务。QQ 的加载体验能做到如此丝滑,这个模块起到了至关重要的作用。同时,与 NT 的联动优化,也需要拉通客户端 C++ 开发同学共同完成,当然,会存在一些沟通成本,但不可否认,能把内存占用压下来,客户端同学也付出了非常多的努力。

▲ 桌面端 QQ 整体架构,
  对此,QQ 技术团队的工作主要包括以下几个方面:

  工具分析:首先,团队需要使用不同维度的内存分析工具,从 V8 引擎到进程,再到整个应用程序,打通整个链路进行多角度的细节分析,以此来定位内存使用的瓶颈。

  定向优化:在通过工具定位到问题之后,团队会采取一系列的针对性优化策略,包括缓存策略、按需加载、优雅降级等。

  线上监控:在本地或小范围内验证通过之后,团队需要广大用户的验证来确认优化措施是否适用于所有场景。然而,如何获取用户在 Windows 任务管理器中看到的内存使用量是一个挑战,团队已经做了大量的研究和验证。

  防止性能退化和自动化测试:为了保护辛苦得来的优化成果,并避免频繁的版本迭代影响 QQ 的内存目标,团队会借助开发框架、工具建设、代码审查等手段来预防性能退化。



  QQ 技术团队表示,从结果或者解决问题的角度来看,经过一系列优化之后基本可以将 QQ 核心聊天场景的内存控制在 300M 以内,150M 的安装包大小,与旧版纯 Native QQ 差别较小。不单单内存占用,其他核心体验,比如切 AIO 的流畅度上要优于旧版 QQ。

此前报道,腾讯已推出了 Windows QQ 9.9.1 以及 Mac QQ 6.9.18 版本更新,带来了多项优化和改进,后续预计还会有更多性能提升。
本帖de评分: 1 条评分 DB +15
DB+15 2023-08-07

QQ微信技术版块欢迎你~

算账

ZxID:29357411

等级: 版主
配偶: 浓酒与歌

举报 只看该作者 沙发   发表于: 2023-08-07 0
os 的好像和这个差不多啊
鹤皆

ZxID:570000

等级: 记者主编
配偶: 散照
爱生活 爱猴岛论坛

举报 只看该作者 板凳   发表于: 2023-08-07 0
有点像纸飞机了
 
 
朝着自己的方向走 起码你是快乐的

 
 
« 返回列表
发帖 回复