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

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

一文詳細(xì)了解OpenHarmony新圖形框架

科技觀點(diǎn) ? 來源:科技觀點(diǎn) ? 作者:科技觀點(diǎn) ? 2022-04-27 13:21 ? 次閱讀

原標(biāo)題:新的圖形框架可以帶來什么? 揭秘OpenHarmony新圖形框架

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

一、完整能力視圖

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

pYYBAGJo0sOAX7UoAACkvMapH2o971.png

圖1 OpenHarmony圖形完整能力視圖

按照分層抽象和輕模塊化的架構(gòu)設(shè)計(jì)原則,新圖形框架分為接口層、架構(gòu)層和引擎層。各層級說明如下:

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

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

poYBAGJo0sSATwJIAADQgha1iqg254.png

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

二、新圖形框架的亮點(diǎn)

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

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

(1)渲染方面

通常來講,UI界面顯示分為兩個(gè)部分:一是描述的UI元素在應(yīng)用內(nèi)部顯示,二是多個(gè)應(yīng)用的界面在屏幕上同時(shí)顯示。對此,新圖形框架從功能上做了相應(yīng)的設(shè)計(jì):控件級渲染窗口級渲染。“控件級渲染”重點(diǎn)考慮如何跟UI框架前端進(jìn)行對接,需要將ArkUI框架的控件描述轉(zhuǎn)換成繪制指令,并提供對應(yīng)的節(jié)點(diǎn)管理以及渲染能力。而“窗口級渲染”重點(diǎn)考慮如何將多個(gè)應(yīng)用合成顯示到同一個(gè)屏幕上。

(2)動畫流暢性方面

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

(3)接口方面

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

下面為大家一一詳細(xì)介紹新圖形框架的亮點(diǎn)特性。

1. 控件級渲染

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

pYYBAGJo0sSASj0fAAAnyZurLSw811.png

圖2 控件級渲染

控件級渲染功能具有以下特點(diǎn):

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

● 動畫邏輯從主線程中剝離,提供獨(dú)立的步進(jìn)驅(qū)動機(jī)制。

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

2. 窗口級渲染

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

poYBAGJo0sSAJBjOAAAn2v6yWwM569.png

圖3 窗口級渲染

窗口級渲染功能具有以下特點(diǎn):

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

● 支持硬件VSync/軟件Vsync。

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

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

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

3. 更流暢的動畫體驗(yàn)

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

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

(1) 應(yīng)用創(chuàng)建動畫,設(shè)置動畫參數(shù)。

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

(3) 內(nèi)容渲染。

pYYBAGJo0sSAJtdRAAAxxTTKYRQ355.png

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

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

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

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

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

poYBAGJo0sWADMpfAAAwFuiHhRQ136.png

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

(1)動畫與UI分離。

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

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

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

4. 對外提供的接口

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

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

WebGL開發(fā)指導(dǎo):

https://docs.openharmony.cn/pages/zh-cn/app/%E5%BA%94%E7%94%A8%E5%BC%80%E5%8F%91%E6%96%87%E6%A1%A3/%E5%BC%80%E5%8F%91/%E5%9F%BA%E7%A1%80%E5%8A%9F%E8%83%BD%E5%BC%80%E5%8F%91/WebGL/WebGL%E5%BC%80%E5%8F%91%E6%8C%87%E5%AF%BC/#:~:text=%23-,%E7%9D%80%E8%89%B2%E5%99%A8%E7%BB%98%E5%88%B6%E5%BD%A9%E8%89%B2%E4%B8%89%E8%A7%92%E5%BD%A2,-%E6%AD%A4%E5%9C%BA%E6%99%AF%E4%B8%BA

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

poYBAGJo0sWALnoBAACDtHBHPF0066.png

圖6 OpenGL ES使用示例

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

審核編輯:湯梓紅

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

    關(guān)注

    0

    文章

    71

    瀏覽量

    19286
  • OpenHarmony
    +關(guān)注

    關(guān)注

    25

    文章

    3722

    瀏覽量

    16321
收藏 人收藏

    評論

    相關(guān)推薦

    詳細(xì)了解驍龍8至尊版強(qiáng)大的AI能力

    強(qiáng)大的AI性能加持下,可支持個(gè)性化的多模態(tài)AI助手,并為終端設(shè)備帶來全面煥新的AI影像和豐富有趣的AI游戲體驗(yàn)。下面,就讓我們詳細(xì)了解驍龍8至尊版強(qiáng)大的AI能力。 全面升級的AI性能 早在第三代驍龍8移動平臺上,高通已將高性能AI注入整個(gè)
    的頭像 發(fā)表于 12-24 11:47 ?365次閱讀
    <b class='flag-5'>詳細(xì)了解</b>驍龍8至尊版強(qiáng)大的AI能力

    OpenHarmony之開機(jī)優(yōu)化

    對其進(jìn)行詳細(xì)的性能分析,從而優(yōu)化系統(tǒng)啟動速度和運(yùn)行效率。 三丶開機(jī)優(yōu)化 開機(jī)優(yōu)化的主要目的是為了快速啟動開機(jī)動畫和退出開機(jī)動畫(顯示桌面)。所以在優(yōu)化之前,我們需要了解OpenHarmon
    發(fā)表于 07-01 16:39

    帶你詳細(xì)了解工業(yè)電腦

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

    OpenHarmony 成功亮相國際學(xué)術(shù)會議 ASPLOS 2024

    舉行的ASPLOS 2024上成功舉辦。本次學(xué)術(shù)教程會以“OpenHarmony操作系統(tǒng)的關(guān)鍵特性與能力”為主題,聚焦“基于OpenHarmony的前沿學(xué)術(shù)探索機(jī)遇與挑戰(zhàn)“,詳細(xì)介紹了
    的頭像 發(fā)表于 05-16 09:28 ?435次閱讀
    <b class='flag-5'>OpenHarmony</b> 成功亮相國際學(xué)術(shù)會議 ASPLOS 2024

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

    OpenHarmony 4.0版本如期而至,開發(fā)套件同步升級到API 10。相比3.2 Release版本,新增4000多個(gè)API,應(yīng)用開發(fā)能力更加豐富;HDF新增200多個(gè)HDI接口,硬件適配更加便捷;我們持續(xù)優(yōu)化圖形框架和方
    的頭像 發(fā)表于 05-14 09:59 ?1477次閱讀
    鴻蒙開發(fā):【<b class='flag-5'>OpenHarmony</b> 4.0 Release指導(dǎo)】

    鴻蒙開發(fā)圖形圖像:【圖形子系統(tǒng)】

    圖形子系統(tǒng)主要包括UI組件、布局、動畫、字體、輸入事件、窗口管理、渲染繪制等模塊,構(gòu)建基于輕量OS應(yīng)用框架滿足硬件資源較小的物聯(lián)網(wǎng)設(shè)備或者構(gòu)建基于標(biāo)準(zhǔn)OS的應(yīng)用框架滿足富設(shè)備的OpenHarm
    的頭像 發(fā)表于 03-23 16:50 ?656次閱讀
    鴻蒙開發(fā)<b class='flag-5'>圖形</b>圖像:【<b class='flag-5'>圖形</b>子系統(tǒng)】

    【六】Purple Pi OH開發(fā)板帶你7天入門OpenHarmony!

    今天我們來從OpenHarmony簡介、環(huán)境搭建、創(chuàng)建第個(gè)OpenHarmony項(xiàng)目等方面開始OpenHarmony應(yīng)用開發(fā)的第步。
    的頭像 發(fā)表于 03-14 08:31 ?549次閱讀
    【六】Purple Pi OH開發(fā)板帶你7天入門<b class='flag-5'>OpenHarmony</b>!

    介紹種OpenAtom OpenHarmony輕量系統(tǒng)適配方案

    本文在不改變原有系統(tǒng)基礎(chǔ)框架的基礎(chǔ)上, 介紹了種OpenAtom OpenHarmony(以下簡稱“OpenHarmony”)輕量系統(tǒng)適配方案。
    的頭像 發(fā)表于 03-05 09:24 ?1169次閱讀
    介紹<b class='flag-5'>一</b>種OpenAtom <b class='flag-5'>OpenHarmony</b>輕量系統(tǒng)適配方案

    OpenHarmony4.0源碼解析之媒體框架

    及 audio-source 插件調(diào)用音頻框架的播放及采集功能來實(shí)現(xiàn)音頻的播放與錄制;通過 surface-sink 調(diào)用圖形框架,video-decoder 調(diào)用解碼驅(qū)動模
    的頭像 發(fā)表于 02-26 22:05 ?944次閱讀
    <b class='flag-5'>OpenHarmony</b>4.0源碼解析之媒體<b class='flag-5'>框架</b>

    【鴻蒙】OpenHarmony 4.0藍(lán)牙代碼結(jié)構(gòu)簡析

    OpenHarmony 4.0藍(lán)牙代碼結(jié)構(gòu)簡析前言 OpenHarmony 4.0上藍(lán)牙倉和目錄結(jié)構(gòu)進(jìn)行次較大整改,本文基于4.0以上版本對藍(lán)牙代碼進(jìn)行分析,便于讀者快速了解和學(xué)習(xí)
    的頭像 發(fā)表于 02-26 16:08 ?1570次閱讀
    【鴻蒙】<b class='flag-5'>OpenHarmony</b> 4.0藍(lán)牙代碼結(jié)構(gòu)簡析

    pcb應(yīng)變測試有多重要?了解!

    pcb應(yīng)變測試有多重要?了解!
    的頭像 發(fā)表于 02-24 16:26 ?1089次閱讀

    Qt For OpenHarmony圖形化的進(jìn)展突破

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

    OpenHarmony 之 NAPI 框架介紹

    環(huán)境中的 JS 變量與方法。 OpenHarmony 中的 NAPI OpenAtom OpenHarmony(以下簡稱 “OpenHarmony”)應(yīng)用層基于 javascript 語言開發(fā),而系統(tǒng)
    的頭像 發(fā)表于 02-01 17:34 ?702次閱讀
    <b class='flag-5'>OpenHarmony</b> 之 NAPI <b class='flag-5'>框架</b>介紹

    OpenHarmony圖形HDI基礎(chǔ)適配及點(diǎn)屏

    本文檔主要介紹圖形基礎(chǔ)適配及點(diǎn)屏。 環(huán)境說明: OHOS版本: 適用3.2-Beta3及以上 內(nèi)核版本: linux-5.10 硬件環(huán)境: Dayu200-rk3568及其它硬件 、圖形驅(qū)動測試
    發(fā)表于 01-18 14:49

    帶您詳細(xì)了解IEEE802.3bt(PoE++)的有關(guān)特點(diǎn)

    Hqst華強(qiáng)盛(盈盛電子)導(dǎo)讀:帶您詳細(xì)了解IEEE802.3bt(PoE++)的有關(guān)特點(diǎn),讓我們對IEEE802.3bt(PoE++)協(xié)議有更具體的了解
    的頭像 發(fā)表于 01-04 11:26 ?2192次閱讀
    帶您<b class='flag-5'>一</b>起<b class='flag-5'>詳細(xì)了解</b>IEEE802.3bt(PoE++)的有關(guān)特點(diǎn)