


IT之家 8 月 24 日消息,据仓颉编程语言官方消息,Kimi 团队积极适配华为鸿蒙系统,已于今年 3 月推出了支持全量功能的鸿蒙版应用,并通过内置仓颉 Markdown 渲染引擎,提升了长对话的渲染性能,实现流畅无卡顿的渲染效果。
据称,Kimi 鸿蒙版 App 集成仓颉前,遇到主线程耗时长,应用卡顿的情况,线上故障率达到千分之二,其中多数为 appfreeze。主要原因是对话渲染时 markdown 解析部分性能较差,耗时较长。而仓颉社区三方库已具备高性能的 markdown 解析、渲染库。在仓颉团队的推动下,Kimi 采用了仓颉方案优化应用性能。
仓颉三方库社区 Cangjie-TPC 提供了:
markdown 解析引擎 commonmark4cj,支持将 markdown 文本解析为节点树。
公式解析库 formula-ffi,支持将 LaTeX 公式渲染为图片。
语法高亮库 prism4cj,支持解析代码块语法结构,标记高亮色彩。
markdown 组件库 markdown4cj,支持解析代码块语法结构,标记高亮色彩。
这四个库分别提供了纯仓颉版本和互操作版本,其中互操作版本将仓颉接口封装成了 ArkTS 接口,方便用户在混合工程中直接使用。Kimi 采用的解决方案是:使用互操作版本的 commonmark4cj、formula-ffi、prism4cj 进行文本的解析,在 ArkTS 侧自主开发渲染库,将解析结果渲染成 markdown 组件。
仓颉编程语言官方表示,Kimi 这样做牺牲了部分易用性,但好处是既可以受惠于仓颉相关解析库的高性能,又可以在 UI 侧定制灵活的需求。
Kimi 集成仓颉三方库后,相比集成前的方案,整体滑动帧率得到 2.4 倍以上优化。三个仓颉三方库为单点功能带来显著优化,其中 commonmark4cj 带来 4 倍优化,formula-ffi 带来 34 倍优化,prism4cj 带来 2 倍以上优化。具体测试数据如下:
原版 |
仓颉 |
|
markdown 节点解析耗时 解析 13K 字符 |
80ms |
20ms |
数学公式解析耗时 测试会话) |
328.40ms |
9.58ms |
代码块染色 解析 203 行代码块 |
96ms |
44ms |
滑动帧率 60Hz 刷新率 |
25 帧 |
60 帧 |
IT之家从仓颉编程语言官方获悉,当前仓颉社区已收录超 140+ 三方库,常用的包括:
markdown解析和渲染库markdown4cj
压缩库 zip4cj 和 zlib4cj (https://gitcode.com/Cangjie-TPC/zlib4cj)
MQTT通信协议库mqtt4cj
图像加载缓存库 droplet
动画库 svga-cj
“特别声明:以上作品内容(包括在内的视频、图片或音频)为凤凰网旗下自媒体平台“大风号”用户上传并发布,本平台仅提供信息存储空间服务。
Notice: The content above (including the videos, pictures and audios if any) is uploaded and posted by the user of Dafeng Hao, which is a social media platform and merely provides information storage space services.”