Graver高效的 UI 渲染框架
Graver 是一款高效的 UI 渲染框架,它以更低的資源消耗來構(gòu)建十分流暢的 UI 界面。Graver 獨(dú)創(chuàng)性的采用了基于繪制的視覺元素分解方式來構(gòu)建界面,得益于此,該框架能讓 UI 渲染過程變得更加簡單、靈活。
功能特點(diǎn)
- 性能表現(xiàn)優(yōu)異
Graver 在 FPS、CPU、Memory 各方面的指標(biāo)均表現(xiàn)優(yōu)異。
- “一站式”異步化
Graver 從文本計(jì)算、樣式排版渲染、圖片解碼,再到繪制,實(shí)現(xiàn)了全程異步化,并且是線程安全的。使用 Graver 可以一站式獲得全部性能優(yōu)化點(diǎn)。
- 性能消耗的“邊際成本”幾乎為零
Graver 渲染整個(gè)過程除畫板視圖外完全沒有使用 UIKit 控件,最終產(chǎn)出的結(jié)果是一張位圖(Bitmap),視圖層級(jí)、數(shù)量大幅降低。
- 渲染速度快
Graver 并發(fā)進(jìn)行多個(gè)畫板視圖的渲染、顯示工作。得益于圖文混排技術(shù)的應(yīng)用,達(dá)到了內(nèi)存占用低,渲染速度快的效果。由于排版數(shù)據(jù)是不變的,所以內(nèi)部會(huì)進(jìn)行緩存、復(fù)用,這又進(jìn)一步促進(jìn)了整體渲染效率。Graver 既做到了高效渲染,又保證了低時(shí)延頁面加載。
- 以“少”勝“繁”
Graver 重新抽象封裝 CoreText、CoreGraphic 等系統(tǒng)基礎(chǔ)能力,通過少量系統(tǒng)標(biāo)準(zhǔn)圖形繪制接口即可實(shí)現(xiàn)復(fù)雜界面的展示。
- 基于位圖(bitmap)的輕量事件交互系統(tǒng)
如上述所說,界面展示從傳統(tǒng)的視圖樹轉(zhuǎn)變?yōu)橐粡埼粓D,而位圖不能響應(yīng)、區(qū)分內(nèi)部具體位置的點(diǎn)擊事件。Graver 提供了基于位圖的輕量事件交互系統(tǒng),可以準(zhǔn)確識(shí)別點(diǎn)擊位置發(fā)生在位圖的哪一塊“繪制單元”內(nèi)。該“繪制單元”可以理解為與我們一貫使用的某個(gè)具體UI控件相對(duì)應(yīng)的視覺展示。使用 Graver 為某一視覺展示添加事件如同使用系統(tǒng) UIButton 添加事件一樣簡單。
- 全新的視覺元素分解思路
Graver 一改界面編程思路,與傳統(tǒng)的通過控件“拼接”、“添加”,視圖排列組合方式構(gòu)建界面不同,它提供了十分靈活、便捷的接口讓我們以“視覺所見”的方式構(gòu)建界面。
