Graver 高效的 UI 渲染框架开源项目

我要开发同款
匿名用户2019年09月16日
59阅读
开发技术Object-c
所属分类Objective-C、界面原型设计工具、开发工具
授权协议Apache-2.0

作品详情

Graver是一款高效的UI渲染框架,它以更低的资源消耗来构建十分流畅的UI界面。Graver独创性的采用了基于绘制的视觉元素分解方式来构建界面,得益于此,该框架能让UI渲染过程变得更加简单、灵活。

功能特点性能表现优异

Graver在FPS、CPU、Memory各方面的指标均表现优异。

“一站式”异步化

Graver从文本计算、样式排版渲染、图片解码,再到绘制,实现了全程异步化,并且是线程安全的。使用Graver可以一站式获得全部性能优化点。

性能消耗的“边际成本”几乎为零

Graver渲染整个过程除画板视图外完全没有使用UIKit控件,最终产出的结果是一张位图(Bitmap),视图层级、数量大幅降低。

渲染速度快

Graver并发进行多个画板视图的渲染、显示工作。得益于图文混排技术的应用,达到了内存占用低,渲染速度快的效果。由于排版数据是不变的,所以内部会进行缓存、复用,这又进一步促进了整体渲染效率。Graver既做到了高效渲染,又保证了低时延页面加载。

以“少”胜“繁”

Graver重新抽象封装CoreText、CoreGraphic等系统基础能力,通过少量系统标准图形绘制接口即可实现复杂界面的展示。

基于位图(bitmap)的轻量事件交互系统

如上述所说,界面展示从传统的视图树转变为一张位图,而位图不能响应、区分内部具体位置的点击事件。Graver提供了基于位图的轻量事件交互系统,可以准确识别点击位置发生在位图的哪一块“绘制单元”内。该“绘制单元”可以理解为与我们一贯使用的某个具体UI控件相对应的视觉展示。使用Graver为某一视觉展示添加事件如同使用系统UIButton添加事件一样简单。

全新的视觉元素分解思路

Graver一改界面编程思路,与传统的通过控件“拼接”、“添加”,视图排列组合方式构建界面不同,它提供了十分灵活、便捷的接口让我们以“视觉所见”的方式构建界面。

声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态

评论