在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

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

3天內不再提示

圖形測試分析毫無頭緒HarmonyOS圖形棧測試技術幫你解決

物聯網星球 ? 來源:物聯網星球 ? 作者:物聯網星球 ? 2022-01-12 16:07 ? 次閱讀

作者:huangran,圖形圖像技術專家

應用開發以后無法知道性能瓶頸的根因是什么?滑動卡頓、白塊產生的原因是什么?代碼寫完之后,不知道如何優化讓它表現地更好……


我們發現,如今測試人員的需求已經不只是停留在應用層面的測試數據了,而是需要數據背后的根因。但業界的圖形棧測試,絕大部分都只提供應用層面的數據,有一部分可以深入系統層分析,但仍無法觸及硬件這一層的測試分析。


HarmonyOS圖形棧測試技術,不僅可以深入系統層分析,幫助開發測試者得到數據背后的根因,還能觸達硬件層的測試分析。那它是如何做到的呢?讓我們一起揭秘HarmonyOS圖形棧測試技術。

一、HarmonyOS 圖形棧全貌


眾所周知,圖形是操作系統里面非常核心的模塊,和內核、編譯器等模塊一起作為操作系統的底層基座,不僅如此,它還是體現競爭力的關鍵模塊。但因為圖形棧非常復雜,所以需要構筑一套完整的測試技術才可以保證其質量和競爭力。

圖1 圖形棧整體架構


如圖1所示,左邊部分是HarmonyOS圖形棧的全貌,其中最上面一層是渲染前端,包括2D類應用、3D類應用和重負載的游戲視頻類應用,這一層與右邊測試部分的應用層對應,包括體驗KPI和負載模型能力。


中間一層則是我們圖形棧操作系統的核心能力,如組件、JS 引擎、ArkUI的三棵樹(Component樹,Element樹和Render樹)、自研2D引擎、自研3D引擎、動效、手勢、布局等。這一層與右邊測試部分的系統層對應,包括圖形棧關鍵耗時函數解析和圖形棧優化方案可見的能力。


最下面一層則是HarmonyOS 1+8+N設備需要橫跨的兩個部分:操作系統和硬件設備,需要對其進行兼容支持,這一層與右邊測試部分的硬件層對應,包括跨系統對比測試能力、跨設備測試能力和硬件SOC分析能力。


我們圖形棧的測試能力不只是停留在應用層的體驗KPI,它可以將體驗KPI指標進一步分解成系統級別的耗時函數、以及硬件級別的SOC分析能力,并最終提供優化方案(后文將舉例說明)。


了解完整體架構后,我們再進一從2D圖形棧應用和3D圖形棧應用兩個角度去了解圖形棧測試技術:

二、2D圖形棧應用


圖2 是HarmonyOS ArkUI開發框架,對應右邊的三層結構,最底層是接口層測試,中間層是組件層測試,最上層是應用層測試。接下來我們會給大家重點介紹負載模型、系統分析案例和應用分析案例。

圖2 ArkUI開發框架

對于一個新的開發框架,在沒有海量生態的應用進來之前我們是如何驗證這個平臺的測試能力的?


我們最初設想的是構建足夠多的場景來覆蓋和驗證整個ArkUI框架,比如三棵樹(Element樹、Component樹和Render樹)、布局/動效、手勢、2D渲染引擎。但因為不存在窮舉的方式去覆蓋所有業務,所以我們提出了負載模型的概念。


2D負載模型到底是什么?


我們選取了Top200的應用,對應用進行基于場景的分類,并提取特征, 然后形成了8大類常見用戶場景(圖3),如購物類、圖庫類、視頻類等,同時也抽象出6大類負載,比如資源加載、圖層疊加、負載布局 。

圖3 負載場景及類型


同時我們還結合了Beta與商用的性能問題單和用戶體驗反饋,來逆向幫助我們補充可能遺漏的負載,比如系統I/O負載壓力。這樣構建的負載模型有兩個作用,不僅可以測試HarmonyOS圖形棧架構,還可以為作為HarmonyOS應用樣例,供開發者參考。


由于設備硬件能力的差異性,負載模型實際上是參數可調節的。比如對于IP Camera這類沒有GPU的設備,我們無法給它加很強的負載,它的分辨率較小、物理尺寸也較小,如果用手機的分辨率給它渲染這是沒有意義的。所以我們將負載模型構建成一個參數可調模型,這樣它就會基于測試者的硬件設備來選擇不同的資源做測試,非常靈活便捷。


如前文所說,我們的圖形棧測試能力不只是停留在應用層,而是要進入到系統層和硬件層。接下來舉兩個例子讓大家了解一下我們在系統和硬件層面上如何做分析。


案例一:系統分析案例


我們先舉一個跟硬件相關的例子,比如“多個應用連續頁面切換”的場景,這時候可能產生多應用切換的時延、丟幀等問題。

如圖4所示,假如我們定義丟幀率的KPI為0.5%,但是經過測試達到了3%,丟幀指標超標,那么我們將進一步對硬件的CPU占用率和I/O壓力進行數據統計。拿到統計數據之后,平臺還會告訴你具體是哪一個進程產生了CPU和I/O的壓力,并給出優化建議。

圖4 系統分析和優化建議


案例二:應用分析案例


接下來我們舉個應用內的性能分析案例,比如圖庫應用的圖片刪除場景,也可能產生丟幀和時延問題。

如圖5所示,假設我們定義時延指標為100ms,經過測試發現時延達到1048ms,時延超標,然后我們將ArkUI圖形棧函數展開,得到耗時占比,發現在系統層面上FlushBuild()和FlushLayout()耗時較長,然后平臺會基于這些數據進行分析,找到可能原因,并給出優化建議,以幫助開發者明確下一步優化方向和動作。

圖5 應用分析和優化建議

三、3D圖形棧應用


圖6是3D圖形棧的整體架構,它包括了兩部分,一部分是右側的自研3D引擎,大家可以基于3D自研引擎進行3D應用的開發,比如3D動效、ar應用、3D壁紙等。

圖6左邊的部分是SDK,我們提供了一系列API,主要是針對大型的3D游戲,因為大型的3D游戲對于系統和SOC的壓力較大,這些API可以幫助大型游戲更好地使用系統和硬件,比如GTX、System Cache、畫質增強等SDK接口。

接下來我們會為大家重點介紹3D應用分析基礎、特性拆分和分析方法和3D壁紙調優案例。

圖6 “3D圖形棧”


1. 3D應用分析基礎


3D應用對于性能功耗的壓力會更大,所以更需要底層SOC以及系統的分析能力。其實無論是3D自研引擎,還是SDK,都可以通過將負載進行特性拆分,然后進行細粒度分析。

如圖7所示,場景A關鍵幀就是由渲染特性HDR、Bloom等粒子特效組成,再加上CPU負載就形成一個關鍵幀,這些關鍵幀連續起來就是3D場景。通過這些特性進一步調用到硬件邏輯的相關特性,比如ALU、Texture壓力,最終通過DDK調用到硬件層執行。

圖7 “3D應用分析基礎”


有了以上分析基礎后,我們再來看一下特性拆分和分析方法。


2. 特性拆分和分析方法


如圖8所示,這幀渲染畫面是由Particle、Shadow map、Point light、Bloom等特效組成,如果GPU的負載較重,性能出現瓶頸,如何找到問題的根因呢?我們把這一幀的GLES的指令截取到,并將每一個單特性進行分拆,然后看每一個單特性(如Particle)對硬件造成的壓力。特性拆完后再結合GPU counters來幫助我們定位根因。

圖8 特性拆分


如何使用GPU counters來定位問題呢?如圖9所示,場景C提示fragment cycles比較重,所以要求開發者減少像素渲染。而對于場景A,不僅Fragment cycles很重,而memory R/W以及Vertex cycles都比較重,那么就要針對這幾個瓶頸進行優化。

圖9 GPU Counters


3D壁紙調優案例


我們舉一個3D壁紙調優的案例給大家展示如何找到性能瓶頸。

圖10 “3D壁紙調優”


如圖10所示,用Blender制作3D壁紙模型,再用我們的自研引擎增加渲染效果,最終形成一個有光照、反射的畫面。


我們將3D壁紙畫面進行特性剝離,再看特性剝離后每一個單特性對硬件造成的壓力,數據如表1所示。發現表面細分(頂點50W)+點光(1術)+反射面的歸一化電流達到了1921.33,性能出現較大惡化,如果使用一般的測試工具,就只能到這一步了。

但我們的工具可以幫助大家進一步分析。我們結合表2的Counters來幫助大家定位問題。



在表2的第一、二組數據可以看到,將反射面減少,會發現“shadercycles”從1910降低到1190,這提示開發者“shader”寫的過于復雜了。


我們進一步將頂點數從50W減少到5W,會發現“VertexComputeCycles”從459降低到93.2,說明“VertexComputeCycle”就是一個需要優化的瓶頸。
通過這樣的分析方式,就可以逐步定位到問題,并找到優化的方向,從而達成性能功耗和畫質的平衡。

四、圖形棧工具


我們前文介紹的2D和3D圖形應用的分析優化的能力都集成于HarmonyOS圖形棧的測試平臺——DevEco Testing。

圖11 DevEco Testing-圖形棧測試分析能力


如圖11所示,DevEco Testing是一個“三端+自動化”的結構,其中三端包括設備端、PC端和云端,而自動化就是可以使2D或3D應用的做到自動化測試,同時還具備以下測試能力:

  • 性能、功耗、熱的采集和分析
  • 游戲測試自動化能力
  • 大數據統計和分析
  • 增強型服務:獨立APK、幀采集回放、畫質檢測、多路測試等


在以上測試能力中,有3個增強型服務測試能力是我們的特色:


(1)獨立的APK測試能力


如圖12所示,該工具支持脫離PC的方式進行測試,可直接在被測設備上部署工具,并且在進行設備應用操作時,可以實時展示數據。比如出現幀率的巨大下降時,可以直接在屏幕上展示數據并提供測試的報告,非常直觀和便捷。

圖12靈活的獨立APK測試


(2)分布式渲染多路測試


該工具適用于HarmonyOS分布式多設備場景,可以綁定多個設備(如手機+筆記本),并且該工具平臺可以把這些設備的測試報告進行綁定,形成完整的測試報告。

(3)支持單幀或多幀的采集和回放功能


如圖13所示,該工具可以采集一幀或多幀API Trace結果,然后進行回放,再結合GPU Counters進行定位(如前文壁紙調優案例所述)。

圖13 單幀或多幀采集回放

五、結語


HarmonyOS圖形棧是整個HarmonyOS操作系統的基座,包括ArkUI 2D和3D部分。圖形棧的測試是一個分層接口,包括應用層、系統層以及硬件層,可以幫助開發測試者從用戶體驗指標到深入了解系統和硬件發生了什么。

這些測試服務能力集成DevEco Testing下的圖形圖像測試工具,歡迎大家下載使用。

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

    關注

    8

    文章

    5316

    瀏覽量

    126722
  • 鴻蒙系統
    +關注

    關注

    183

    文章

    2636

    瀏覽量

    66398
  • HarmonyOS
    +關注

    關注

    79

    文章

    1977

    瀏覽量

    30261
  • OpenHarmony
    +關注

    關注

    25

    文章

    3725

    瀏覽量

    16370
  • Harmony
    +關注

    關注

    0

    文章

    53

    瀏覽量

    2612
收藏 人收藏

    評論

    相關推薦

    求助:大四狗畢業設計毫無頭緒,關于單片機測試

    各位老大好,本人今年大四,就要畢業了,畢業論文是個大難題,因為平常對于技術方面接觸的比較少,所以對于技術類的論文是毫無頭緒,現在在愁煩當中。畢業論文的內容是單片機
    發表于 02-10 16:20

    圖形測試分析毫無頭緒HarmonyOS圖形測試技術幫你解決

    停留在應用層面的測試數據了,而是需要數據背后的根因。但業界的圖形測試,絕大部分都只提供應用層面的數據,有一部分可以深入系統層分析,但仍無法
    發表于 01-10 10:56

    深度剖析HarmonyOS圖形測試技術

    需要數據背后的根因。但業界的圖形測試,絕大部分都只提供應用層面的數據,有一部分可以深入系統層分析,但仍無法觸及硬件這一層的測試
    發表于 04-08 11:14

    HarmonyOS采用華為全新自研圖形

    昨日(6月2號)晚上八點整,華為鴻蒙發布會如期而至,當晚華為公司正式發布Harmony OS操作系統。了解到,Harmony OS使用了華為全新自主研發的圖形圖形的幾個創新
    的頭像 發表于 06-03 09:54 ?2588次閱讀

    HarmonyOS 測試技術與實踐-軟件測試的挑戰

    華為2021開發者大會HarmonyOS測試技術與實戰-軟件測試的挑戰
    的頭像 發表于 10-23 14:14 ?1226次閱讀
    <b class='flag-5'>HarmonyOS</b> <b class='flag-5'>測試</b><b class='flag-5'>技術</b>與實踐-軟件<b class='flag-5'>棧</b>對<b class='flag-5'>測試</b>的挑戰

    HarmonyOS 測試技術與實踐-HarmonyOS 軟件測試技術

    2021華為開發者大會HarmonyOS 測試技術與實踐-HarmonyOS 軟件測試技術
    的頭像 發表于 10-23 14:19 ?1635次閱讀
    <b class='flag-5'>HarmonyOS</b> <b class='flag-5'>測試</b><b class='flag-5'>技術</b>與實踐-<b class='flag-5'>HarmonyOS</b> 軟件<b class='flag-5'>測試</b><b class='flag-5'>技術</b><b class='flag-5'>棧</b>

    HarmonyOS 測試技術與實踐-DevEco Testing測試服務

    2021華為開發者大會HarmonyOS 測試技術與實踐-DevEco Testing測試服務
    的頭像 發表于 10-23 14:20 ?2945次閱讀
    <b class='flag-5'>HarmonyOS</b> <b class='flag-5'>測試</b><b class='flag-5'>技術</b>與實踐-DevEco Testing<b class='flag-5'>測試</b>服務

    HarmonyOS測試技術與實戰-DECC測試服務

    HDC 2021華為開發者HarmonyOS測試技術與實戰-DECC測試服務
    的頭像 發表于 10-23 14:40 ?1520次閱讀
    <b class='flag-5'>HarmonyOS</b><b class='flag-5'>測試</b><b class='flag-5'>技術</b>與實戰-DECC<b class='flag-5'>測試</b>服務

    HarmonyOS測試技術與實戰-分布式應用測試解決方案

    HDC 2021華為開發者大會HarmonyOS測試技術與實戰-HarmonyOS分布式應用測試解決方案
    的頭像 發表于 10-23 14:48 ?1601次閱讀
    <b class='flag-5'>HarmonyOS</b><b class='flag-5'>測試</b><b class='flag-5'>技術</b>與實戰-分布式應用<b class='flag-5'>測試</b>解決方案

    HarmonyOS測試技術與實戰-UX測試服務

    HDC 2021華為開發者大會HarmonyOS測試技術與實戰-UX測試服務
    的頭像 發表于 10-23 15:00 ?1203次閱讀
    <b class='flag-5'>HarmonyOS</b><b class='flag-5'>測試</b><b class='flag-5'>技術</b>與實戰-UX<b class='flag-5'>測試</b>服務

    HarmonyOS測試技術與實戰-HarmonyOS圖形測試技術深度解析

    HDC 2021華為開發者大會HarmonyOS測試技術與實戰-HarmonyOS圖形
    的頭像 發表于 10-23 15:09 ?1548次閱讀
    <b class='flag-5'>HarmonyOS</b><b class='flag-5'>測試</b><b class='flag-5'>技術</b>與實戰-<b class='flag-5'>HarmonyOS</b><b class='flag-5'>圖形</b><b class='flag-5'>棧</b><b class='flag-5'>測試</b><b class='flag-5'>技術</b>深度解析

    HarmonyOS測試技術與實戰-HarmonyOS圖形整體架構和測試能力

    HDC 2021華為開發者大會HarmonyOS測試技術與實戰-HarmonyOS圖形整體架構
    的頭像 發表于 10-23 15:11 ?1429次閱讀
    <b class='flag-5'>HarmonyOS</b><b class='flag-5'>測試</b><b class='flag-5'>技術</b>與實戰-<b class='flag-5'>HarmonyOS</b><b class='flag-5'>圖形</b><b class='flag-5'>棧</b>整體架構和<b class='flag-5'>測試</b>能力

    HarmonyOS測試技術與實戰-華為3D圖形分析

    HDC 2021華為開發者大會HarmonyOS測試技術與實戰-華為3D圖形分析
    的頭像 發表于 10-23 15:26 ?1577次閱讀
    <b class='flag-5'>HarmonyOS</b><b class='flag-5'>測試</b><b class='flag-5'>技術</b>與實戰-華為3D<b class='flag-5'>圖形</b><b class='flag-5'>棧</b><b class='flag-5'>分析</b>

    HarmonyOS測試技術與實戰-Deveco Testing圖形測試分析能力

    HDC 2021華為開發者大會 HarmonyOS測試技術與實戰-Deveco Testing圖形測試
    的頭像 發表于 10-23 15:34 ?2371次閱讀
    <b class='flag-5'>HarmonyOS</b><b class='flag-5'>測試</b><b class='flag-5'>技術</b>與實戰-Deveco Testing<b class='flag-5'>圖形</b><b class='flag-5'>棧</b><b class='flag-5'>測試</b><b class='flag-5'>分析</b>能力

    HarmonyOS測試技術與實戰-HarmonyOS自研圖形總結

    HDC 2021華為開發者大會 HarmonyOS測試技術與實戰-HarmonyOS自研圖形
    的頭像 發表于 10-23 15:47 ?1623次閱讀
    <b class='flag-5'>HarmonyOS</b><b class='flag-5'>測試</b><b class='flag-5'>技術</b>與實戰-<b class='flag-5'>HarmonyOS</b>自研<b class='flag-5'>圖形</b><b class='flag-5'>棧</b>總結
    主站蜘蛛池模板: yy6080三级理论韩国日本| 99热最新在线观看| 国产精品久久久久天天影视| 九色九色九色在线综合888| 国产叼嘿视频免费网站| 轻点灬大ji巴太粗太长了爽文| 亚州一级毛片| 成人久久久精品乱码一区二区三区| 综合色吧| 五月婷婷综合激情网| 免费在线公开视频| 黄网页在线观看| 午夜天堂影院| 正在播放羽月希与黑人bd在线| 亚洲合集综合久久性色| 色在线网站| 久久精品视频7| 人人射人人澡| 美女国产一区| 丁香5月婷婷| 天天干天天色天天| 国产yin乱大巴视频| 亚洲欧美一区二区三区图片| 最新地址四虎www4hutv| 色综合天天综合网国产成人网| 看全黄大片狐狸视频在线观看| cijilu刺激 国产免费的| 奇米影视7777| 91国内在线国内在线播放| 综合激情五月婷婷| 日本黄色片在线播放| 丁香婷婷在线观看| 欧美1024| 亚洲一区二区视频| 一区视频在线播放| 伊人成伊人成综合网2222| 日本三级视频| 欧美福利视频网站| 俄罗斯一级成人毛片| 美女福利在线观看| 日本高清视频不卡|