0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

OpenHarmony 3.1 Release版本詳細了解新圖形框架

OpenAtom OpenHarmony ? 來源:OpenAtom OpenHarmony ? 作者:OpenAtom OpenHarmony ? 2022-06-17 11:38 ? 次閱讀

3 月 31 日,OpenAtom OpenHarmony(以下簡稱“OpenHarmony”) 3.1 Release 版本正式發(fā)布了。此版本為大家?guī)砹巳碌膱D形框架,實現(xiàn)了UI框架顯示、多窗口、流暢動畫等基礎能力,夯實了 OpenHarmony 系統(tǒng)能力基座,下面就帶大家詳細了解新圖形框架。

一、完整能力視圖

新圖形框架的能力在持續(xù)構建中,圖1展示了新圖形框架當前及未來提供的完整能力視圖。

72d03420-db62-11ec-ba43-dac502259ad0.png

圖1 OpenHarmony圖形完整能力視圖

按照分層抽象和模塊化的架構設計原則,新圖形框架分為接口層、框架層和引擎層。各層級說明如下:

●接口層:提供圖形 NDK(native development kit,原生開發(fā)包)能力,包括 OpenGL ES、Native Drawing 等繪制接口能力。

●框架層:由 Render Service、Animation、Effect、Drawing、顯示與內存管理等核心模塊組成??蚣軐痈髂K說明如下:

7313253c-db62-11ec-ba43-dac502259ad0.png

●引擎層:包括 2D 圖形庫和 3D 圖形引擎兩個模塊。2D 圖形庫提供 2D 圖形繪制底層 API,支持圖形繪制與文本繪制底層能力。3D 圖形引擎能力尚在構建中。

二、新圖形框架的亮點

經過上一節(jié)介紹,我們對新圖形框架的完整能力有了基本的了解。那么,新圖形框架有什么亮點呢?

新圖形框架在渲染、動畫流暢性、接口方面重點發(fā)力:

(1)渲染方面

通常來講,UI 界面顯示分為兩個部分:一是描述的UI元素在應用內部顯示,二是多個應用的界面在屏幕上同時顯示。對此,新圖形框架從功能上做了相應的設計:控件級渲染和窗口級渲染?!翱丶変秩尽敝攸c考慮如何跟UI框架前端進行對接,需要將ArkUI框架的控件描述轉換成繪制指令,并提供對應的節(jié)點管理以及渲染能力。而“窗口級渲染”重點考慮如何將多個應用合成顯示到同一個屏幕上。

(2)動畫流暢性方面

我們深挖動畫處理流程中的各個環(huán)節(jié),對新圖形框架進行了新的動畫實現(xiàn)設計,提升動畫的流暢性體驗。

(3)接口方面

新圖形框架在接口層提供了更豐富的接口能力。

下面為大家一一詳細介紹新圖形框架的亮點特性。

1. 控件級渲染

新圖形框架實現(xiàn)了基于 RenderService(簡稱 RS)的控件級渲染功能,如圖 2 所示。

736fa26c-db62-11ec-ba43-dac502259ad0.png

圖2 控件級渲染

控件級渲染功能具有以下特點:

● 支持 GPU 渲染,提升渲染性能。

● 動畫邏輯從主線程中剝離,提供獨立的步進驅動機制。

● 將渲染節(jié)點屬性化,屬性與內容分離。

2. 窗口級渲染

新圖形框架實現(xiàn)了基于 RenderService 的窗口級渲染功能,如圖 3 所示。

73e21ef0-db62-11ec-ba43-dac502259ad0.png

圖3 窗口級渲染

窗口級渲染功能具有以下特點:

● 取代 Weston 合成框架,實現(xiàn)RS新合成框架。

● 支持硬件 VSync/軟件 Vsync。

● 支持基于 NativeWindow 接入 EGL/GLES 的能力。

● 更靈活的合成方式,支持硬件在線合成/CPU 合成/混合合成(GPU 合成即將上線)。

● 支持多媒體圖層在線 overlay。

3. 更流暢的動畫體驗

動畫流暢性是一項很基本、也很關鍵的特性,直接影響用戶體驗。為了提升動畫的流暢性體驗,我們深挖動畫處理流程中的各個環(huán)節(jié),對新圖形框架進行了新的動畫實現(xiàn)設計。

如圖 4 所示,傳統(tǒng)動畫的實現(xiàn)流程如下:

(1) 應用創(chuàng)建動畫,設置動畫參數(shù);

(2) 每幀回調,修改控件參數(shù),重新測量、布局、繪制;

(3) 內容渲染。

74157f5c-db62-11ec-ba43-dac502259ad0.png

圖4 傳統(tǒng)動畫實現(xiàn)

經過深入分析,我們發(fā)現(xiàn)傳統(tǒng)動畫實現(xiàn)存在以下缺點:

(1)UI 與動畫一起執(zhí)行,UI 的業(yè)務阻塞會影響動畫的執(zhí)行,導致動畫卡頓。

(2)每幀回調修改控件屬性,會觸發(fā)測量布局錄制,導致耗時增加。

針對以上兩點缺陷,我們對新圖形框架進行了新的動畫實現(xiàn)設計,如圖5所示。

744b065e-db62-11ec-ba43-dac502259ad0.png

圖5 新框架的動畫實現(xiàn)

(1)動畫與 UI 分離。

動畫在渲染線程步進,與 UI 業(yè)務線程分離。

(2)動畫僅測量、布局、繪制一次,降低動畫負載。

通過計算最終界面屬性值,對有改變的控件添加動畫,動畫過程中不測量、布局、繪制,提升性能。

4. 對外提供的接口

新圖形框架提供了豐富的接口:

(1)SDK:支持 WebGL 1.0、WebGL 2.0,滿足 JS 開發(fā)者的 3D 開發(fā)的需求。

WebGL 開發(fā)指導

https://docs.openharmony.cn/pages/v3.1/zh-cn/OpenHarmony-Overview_zh.md/

(2)NDK:支持 OpenGL ES3.X,可以通過 XComponent 提供的 nativewindow 創(chuàng)建 EGL/OPENGL 繪制環(huán)境,滿足游戲引擎等開發(fā)者對 3D 繪圖能力的需求。

749952fa-db62-11ec-ba43-dac502259ad0.png

圖6 OpenGL ES使用示例

新圖形框架還處于不斷完善過程中,我們將基于新框架提供更多的能力,相信以后會給大家?guī)砀嗟捏@喜,敬請期待~

審核編輯 :李倩

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 框架
    +關注

    關注

    0

    文章

    403

    瀏覽量

    17515
  • OpenHarmony
    +關注

    關注

    25

    文章

    3731

    瀏覽量

    16431

原文標題:OpenHarmony 3.1 Release版本關鍵特性解析——新的圖形框架可以帶來什么

文章出處:【微信號:gh_e4f28cfa3159,微信公眾號:OpenAtom OpenHarmony】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    開源鴻蒙5.0 Release版本關鍵特性解讀

    特性。如果想了解版本完整的特性,請參考版本Release notes。 一 系統(tǒng)功能 1.1 應用框架能力優(yōu)化 應用
    的頭像 發(fā)表于 12-23 13:58 ?559次閱讀

    觸覺智能Purple Pi OH鴻蒙開發(fā)板成功適配OpenHarmony5.0 Release,開啟新征程

    觸覺智能Purple Pi OH鴻蒙開發(fā)板,成功適配OpenHarmony5.0 Release版本!為大家?guī)?b class='flag-5'>OpenHarmony5.0特性講解!關注觸覺智能,為大家?guī)砀?/div>
    的頭像 發(fā)表于 10-25 10:51 ?446次閱讀
    觸覺智能Purple Pi OH鴻蒙開發(fā)板成功適配<b class='flag-5'>OpenHarmony</b>5.0 <b class='flag-5'>Release</b>,開啟新征程

    OpenHarmony 3.1版本中,潤和hispark hi3861智能家居套件I2C驅動OLED屏幕的驅動如何改寫?

    目前找到的例程都是基于OpenHarmony1.0或者2.0的,目前使用OpenHarmony3.1.4 release版本的系統(tǒng)后,ssd1306 OLED屏幕的例程和代碼已經調不通
    發(fā)表于 07-11 16:45

    OpenHarmony之開機優(yōu)化

    一丶環(huán)境信息 源碼版本OpenHarmony-4.1-Release 板子型號:dayu200(RK3568) 二丶Bootchart工具 在開機優(yōu)化時,我們需要借助Bootchart工具,當前
    發(fā)表于 07-01 16:39

    龍芯2K0300蜂鳥板支持OpenHarmony 4.0 Release版本操作系統(tǒng)

    OpenHarmony操作系統(tǒng),可以為開發(fā)者提供更多的選擇。本次發(fā)售的2K0300蜂鳥開發(fā)板內置OpenHarmony 4.0 Release版本操作系統(tǒng),并支持升級到
    發(fā)表于 06-20 10:02

    一文帶你詳細了解工業(yè)電腦

    扇設計、承受振動和惡劣環(huán)境的能力、輕松配置、全面的I/O選項、延長生命周期、耐用的組件。了解如何為您的應用選擇工業(yè)電腦對提高設施的生產力和效率至關重要。詳細了解
    的頭像 發(fā)表于 06-12 14:24 ?444次閱讀
    一文帶你<b class='flag-5'>詳細了解</b>工業(yè)電腦

    鴻蒙開發(fā):【OpenHarmony 4.0 Release指導】

    OpenHarmony 4.0版本如期而至,開發(fā)套件同步升級到API 10。相比3.2 Release版本,新增4000多個API,應用開發(fā)能力更加豐富;HDF新增200多個HDI接口
    的頭像 發(fā)表于 05-14 09:59 ?1555次閱讀
    鴻蒙開發(fā):【<b class='flag-5'>OpenHarmony</b> 4.0 <b class='flag-5'>Release</b>指導】

    Kill MDK如何創(chuàng)建Debug版本Release版本?

    如何已經有的工程,如何轉換成Debug版本Release版本
    發(fā)表于 05-11 09:06

    【開源鴻蒙】下載OpenHarmony 4.1 Release源代碼

    本文介紹了如何下載開源鴻蒙(OpenHarmony)操作系統(tǒng) 4.1 Release版本的源代碼,該方法同樣可以用于下載OpenHarmony最新開發(fā)
    的頭像 發(fā)表于 04-27 23:16 ?988次閱讀
    【開源鴻蒙】下載<b class='flag-5'>OpenHarmony</b> 4.1 <b class='flag-5'>Release</b>源代碼

    OpenHarmony南向開發(fā)案例:【分布式畫板】

    使用OpenHarmony3.1-Release開發(fā)的應用。通過OpenHarmony的分布式技術,使多人能夠一起畫畫。
    的頭像 發(fā)表于 04-12 14:40 ?1066次閱讀
    <b class='flag-5'>OpenHarmony</b>南向開發(fā)案例:【分布式畫板】

    OpenAtom OpenHarmony 4.1 Release版本正式發(fā)布

    近日,OpenAtom OpenHarmony(以下簡稱“OpenHarmony”)4.1 Release版本如期而至,開發(fā)套件同步升級到API 11
    的頭像 發(fā)表于 04-07 11:43 ?718次閱讀

    【鴻蒙】OpenHarmony運行docker詳細步驟

    1.環(huán)境和設備 系統(tǒng)版本: 3.2release(64 位) OpenHarmony 內核版本:5.10 標準系統(tǒng)設備: DAYU200 Docker:18.03.1 (64 位) s
    的頭像 發(fā)表于 03-02 15:10 ?2763次閱讀
    【鴻蒙】<b class='flag-5'>OpenHarmony</b>運行docker<b class='flag-5'>詳細</b>步驟

    Qt For OpenHarmony圖形化的進展突破

    Qt 適配 OpenHarmony 意義 Qt 是一個 C++ 跨平臺開發(fā)框架,主要用于開發(fā)圖形用戶界面(Graphical User Interface,GUI)程序,具有跨平臺類庫(支持目前
    的頭像 發(fā)表于 02-02 14:29 ?1596次閱讀
    Qt For <b class='flag-5'>OpenHarmony</b><b class='flag-5'>圖形</b>化的進展突破

    DAYU200的版子刷4.0的Release版本,屏幕觸摸不起作用,要怎么處理呀?

    自已從 OpenHarmony 官網下載的源碼 3.2 Release 版本編譯 燒錄進去,功能都正常,4.0 Release 版本燒進去后
    發(fā)表于 01-23 18:54

    開源大師兄開發(fā)板通過 OpenHarmony 3.2 Release版本兼容性測評

    近期,江蘇潤開鴻數(shù)字科技有限公司(以下簡稱“潤開鴻”)開源?師兄開發(fā)板順利通過OpenHarmony3.2.1Release版本兼容性測評,為基于開源大師兄開發(fā)板研發(fā)更多可釋放該系統(tǒng)版本新特性的?態(tài)
    的頭像 發(fā)表于 01-20 08:02 ?968次閱讀
    開源大師兄開發(fā)板通過 <b class='flag-5'>OpenHarmony</b> 3.2 <b class='flag-5'>Release</b><b class='flag-5'>版本</b>兼容性測評