FAST Kit简介
FAST Kit(算法加速服务)以理论计算机为基础、面向开发者提供算法加速能力。当前开放线段表与矩形划分求解器接口,支撑应用的开发体验和用户体验提升。
当前FAST Kit包括以下两个功能域:
- 高阶数据结构(Advanced Data Structure)加速功能域旨在融合理论计算机科学中具有理论保证的高级数据结构与现代硬件特性,当前提供线段表数据结构。
- 规划求解(Solver)加速功能域旨在将理论计算机科学与运筹学中的优化求解能力运用到鸿蒙生态中的各类场景,当前提供矩形划分求解器。
场景介绍
FAST Kit基于理论计算机科学,通过理论算法优化,为应用的性能、负载与功耗优化提供算法加速能力支持,当前Kit提供“高阶数据结构-线段表”与“规划求解-矩形划分求解器”,具体如下:
-
线段表:是一种用于高效处理区间段信息的数据结构,支持数据序列区间段的快速更新和快速查询。以下是一些典型使用场景:
- 数据可视化:股票K线图中快速响应用户对于标记特定价格或时间区间的请求;甘特图/时间轴渲染中高效渲染大量任务的时间区间等。
- 资源监控与日志分析:在APP性能监控中记录卡顿或异常发生的时间区间,聚合分析高频问题时段;统计用户在特定页面停留的连续时间区间、分析行为模式等。
- 游戏开发:管理游戏中多个持续生效的技能或状态,检查是否重叠或冲突;将物体在轴上的投影作为区间,快速筛选可能碰撞的对象等。
-
矩形划分求解器:用于解决矩形划分问题,其接收若干个彼此不相交的矩形作为输入,计算出覆盖相同区域的矩形划分方案,并使输出的矩形数量尽可能少。以下是一些典型使用场景:
- UI渲染与布局优化:多个相邻UI控件背景合并为更少的绘制区域,减少GPU绘制调用;合并虚拟列表中相邻项的渲染区域,减少DOM元素或View数量等。
- 游戏开发:合并相邻的地形或可通行区域,优化碰撞检测;合并相邻的光照影响区域,简化光照计算等。
- 文档与表格处理:表格应用中,自动合并相邻的相同格式单元格;用户选择的多个文本标注区域自动合并为连续区域等。
基本概念
不透明配置(Opaque Configuration):一种ABI稳定的配置抽象机制,库以不完整类型(Incomplete Type)前向声明配置对象,外部代码仅通过指向该对象的指针句柄进行传递与操作,而对象的大小、字段布局及解释规则完全由库内部定义,从而将实现细节与调用者彻底隔离,并保证后续版本可在不破坏二进制兼容性的前提下任意变更存储格式与语义。
约束与限制
支持的国家和地区
当前仅支持中国境内(香港特别行政区、澳门特别行政区、中国台湾除外)。
支持的设备
Phone、Tablet、PC/2in1。
模拟器支持情况
本Kit支持模拟器。
模拟器与真机存在通用差异,详情请参见“模拟器与真机的差异”。