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

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

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

3天內不再提示

如何使用GPU渲染模式分析工具進行分析

jf_78858299 ? 來源:北洋洋洋 ? 作者:北洋 ? 2023-02-09 16:47 ? 次閱讀
  • 每個豎條都是一次VSync的時間16.6ms,如果豎條寬度變寬且透明則代表超出16.6ms繪制的幀
  • 每個Vsync信號來臨前都會做工作(Choreographer中的postFrameCallback函數),按照順序依次處理: 「INPUT 輸入處理」 , 「Animation動畫處理」 ,「Traversal 最終會調用到perfor的measure,layout,draw方法」
  • 每個豎條中的不同顏色代表的上面每個步驟的處理時間

顏色區分

圖片

image.png

從下到上說明

INPUT 輸入處理

表示應用執行輸入事件回調中的代碼所花的時間。如果此區段很大,表示應用花太多時間處理用戶輸入。不妨考慮將此類處理任務分流到其他線程。

建議:

其實就是處理輸入事件開始到結束的時間,如果豎條中此顏色高度過高代表輸入事件應放到其他線程去做

Animation動畫處理

表示評估運行 「該幀的所有動畫程序所花的時間」 。如果此區段很大,表示您的應用可能在使用性能欠佳的自定義動畫程序,或因更新屬性而導致一些意料之外的工作。

建議:

該幀內運行的動畫比較多

Measure,Layhout

表示在視圖層次結構中 onLayout 和 onMeasure回調上所花的時間。大區段表示處理視圖層次結構需要很長時間。

Measure用來確定View的寬高,當View為ViewGroup的時候還需要遍歷子View,Layout在進行遍歷擺放到正確的位置,當View嵌套層級變多或者自定義View時復寫這兩個方法時也要考慮這種情況。

Draw

表示用于創建和更新視圖顯示列表的時間。如果豎條的此部分很高,表明可能有許多自定義視圖繪制,或 onDraw 方法執行的工作很多。

上篇文章 Vsync信號和View繪制流程的關系中說到:draw方法其實并沒有進行真正的繪制,而是把繪制的內容放入到了DisplayList中接著同步到RenderThread中。放入到DisplayList的命令其實就是對canvas的操作轉換而來的,該列表命令過多有兩種情況:1.可用的渲染數據失效。2.canvas的操作過多

將對Canvas的操作轉換成Bitmap同步至GPU

表示將位圖信息上傳到 GPU 所花的時間。大區段表示應用花費大量的時間加載大量圖形。

draw方法調用完成后,會進行釋放這塊內存區域并交給RenderThread去處理渲染數據。(釋放的操作在native層對應的處理是把這塊內存區域變成一個Bitmap交由RenderThread去渲染) 「幀的所有資源都必須位于 GPU 內存中才能用來繪制幀」 ,因此需要上傳到GPU中緩存起來

要減小該值,可以采用以下技巧:

  • 確保位圖的分辨率不會比位圖的顯示尺寸大很多。應避免將 1024x1024 的圖片顯示為 48x48 的圖片。
  • 利用 prepareToDraw() 在下一個同步階段之前異步預上傳位圖。

RenderThread進行調用Opengl渲染

這個顯示列表就是DisplayList

表示 Android 的 2D 渲染程序向 OpenGL 發出繪制和重新繪制顯示列表的命令所花的時間。此豎條的高度與執行每個顯示列表所花的時間的總和成正比。顯示列表越多,紅色豎條就越高。

發出將顯示列表繪制到屏幕上所需的全部命令所需的時間

RenderThread會執行一個DrawFrameTask的Task,里面核心方法是DrawFrame。通過OpenGl和一些庫將渲染數據通知給SurefaceFliger去做圖層合成。將渲染數據放入到阻塞隊列中。

這個和上面的要區分開,官方文檔我沒看太明白,我以我的理解闡述一下吧:

繪制的耗時不代表對canvas的操作復雜,可能僅僅是邏輯處理,但是調用OpenGl渲染反映的是對canvas的操作復雜,所以一個是說OnDraw復雜,一個是說對canvas操作的復雜,在加上其實Android會進行緩存。

在某些情況下,滾動、轉換或動畫會要求系統重新發送顯示列表,但不必實際重新構建它(即重新捕獲繪制命令)。因此,您可能會看到“發出命令”條較高,但“繪制命令”條并不高。

交換緩沖區

表示 CPU 等待 GPU 完成其工作的時間。如果此豎條升高,表示應用在 GPU 上執行太多工作。

當 Android 將其所有顯示列表提交給 GPU 后,系統會發出最后一條命令,告訴圖形驅動程序它已完成當前幀的處理。此時,驅動程序即可將更新后的圖像顯示到屏幕上。

GPU提交數據給SuraceFliger讓其顯示,接著CPU在吧數據給到GPU進行處理,這個區間就是CPU給到GPU的時間

最后給出官方的解析:

如果 CPU 發出命令的速度快于 GPU 處理命令的速度,這兩個處理器之間的通信隊列就會被占滿。出現這種情況時,CPU 會阻塞并等待,直到隊列中有位置來放置下一個命令。這種隊列占滿狀態通常出現在“交換緩沖區”階段,因為此時已提交了整個幀的命令。緩解此問題的關鍵是降低 GPU 工作的復雜度

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

    關注

    28

    文章

    4760

    瀏覽量

    129134
  • 函數
    +關注

    關注

    3

    文章

    4343

    瀏覽量

    62806
  • 渲染
    +關注

    關注

    0

    文章

    70

    瀏覽量

    10933
收藏 人收藏

    評論

    相關推薦

    如何使用SIwizard的功能進行眼圖分析

    SIwizard是SIwave的一項功能,它可以使用Designer/Nexxim的IBIS模型對PCB分析網絡進行波形分析。 按照以往的仿真模式, 需要先提取PCB通道的S參數后在
    的頭像 發表于 12-28 16:57 ?2531次閱讀
    如何使用SIwizard的功能<b class='flag-5'>進行</b>眼圖<b class='flag-5'>分析</b>

    鴻蒙開發-DevEco Studio Profiler工具進行幀率分析

    Frame Profiler概述 DevEco Studio內置Profiler分析調優工具,其中Frame分析調優功能,用于錄制GPU數據信息,錄制完成展開之后的子泳道對應錄制過程中
    發表于 01-16 19:34

    賽昉科技VisionFiv2上的GPU渲染測試,平均60幀每秒,非常絲滑

    gpu渲染
    xusiwei1236
    發布于 :2023年12月24日 21:23:11

    使用Trepn Profiler工具分析Dragonboard410c的功耗和性能

    性能圖可以通過圖表顯示,cpu使用情況監控配置則可以通過列表顯示等,所有配置都可以通過懸浮疊加顯示。除了這預設的六個配置,還可以進入高級模式高級模式中,可以對系統性能進行分析監控,也可
    發表于 09-25 16:09

    基于OpenHarmony的Graphic標準子系統能力分析

        說明:GPU渲染時,獲取buffer沒有經過render service server,而是在client端用skia完成,在用egl做完顯示窗口的初始化動作后,開始繪制圖像。  源碼分析  啟動
    發表于 03-18 13:45

    基于磁貼的GPU架構優缺點

    本指南介紹了基于磁貼的GPU架構的優缺點。它還將ARM馬里基于瓷磚的GPU架構設計與臺式PC或控制臺中常見的更傳統的即時模式GPU進行了比較
    發表于 08-02 12:54

    Mali GPU性能分析工具

    本文檔描述了馬里GPU性能分析工具2.2版中的已知勘誤表。 這是一個貫穿整個產品生命周期的工作文檔,因此,隨著新信息的發現,其內容可能會被修改。 本文中包含的信息是ARM有限公司的財產,對錯誤或遺漏
    發表于 09-05 07:08

    什么是強制gpu渲染_強制渲染gpu有什么用

    本文主要介紹了gpu的定義、gpu工作原理、gpu功能作用及手機的強制進行GPU渲染的詳細解釋,
    發表于 01-05 17:13 ?7917次閱讀

    手機要不要強制gpu渲染_強制gpu渲染能省電嗎_長期開著強制gpu渲染影響及利弊分析

    強制進行GPU渲染會充分利用手機的GPU,提高手機運行以及一些應用運行的流暢度,但是也是提高手機的功耗。因此我們在沒有一些特殊需求(如:玩游戲、看電影等)的時候,建議還是謹慎選擇,當然
    發表于 01-08 09:54 ?5.6w次閱讀

    GPU原理 GPU渲染流程

    GPU渲染流水線,是硬件真正體現渲染概念的操作過程,也是最終將圖元畫到2D屏幕上的階段。GPU管線涵蓋了渲染流程的幾何階段和光柵化階段,但對
    發表于 04-27 11:33 ?9554次閱讀
    <b class='flag-5'>GPU</b>原理 <b class='flag-5'>GPU</b><b class='flag-5'>渲染</b>流程

    GPU渲染過程的幾個階段

    GPU渲染流水線的主要任務是完成3D模型到圖像的渲染工作。常用的圖形學API編程模型中的渲染過程被分為幾個可以并行處理的階段,分別由GPU
    的頭像 發表于 02-02 11:38 ?8928次閱讀
    <b class='flag-5'>GPU</b><b class='flag-5'>渲染</b>過程的幾個階段

    GPU的原理渲染流程詳細說明

    GPU 是每臺電腦不可缺少的組件,缺少 GPU,我們的筆記本將無法正常顯示圖像。即便我們每天都在運用 GPU,但是大家真的了解 GPU 的原理嗎?了解
    發表于 12-25 07:24 ?4次下載
    <b class='flag-5'>GPU</b>的原理<b class='flag-5'>渲染</b>流程詳細說明

    一文詳解CPU渲染GPU渲染之間的優劣

    CPU 渲染利用計算機的 CPU 來執行場景并將其渲染到接近完美。這也是執行渲染的更傳統方式。然而,隨著 GPU 的出現,基于 GPU
    的頭像 發表于 03-08 14:50 ?2407次閱讀

    CPU渲染GPU渲染優劣分析

    使用計算機進行渲染時,有兩種流行的系統:基于中央處理單元(CPU)或基于圖形處理單元(GPU)。CPU渲染利用計算機的CPU來執行場景并將其渲染
    的頭像 發表于 05-23 08:27 ?638次閱讀
    CPU<b class='flag-5'>渲染</b>和<b class='flag-5'>GPU</b><b class='flag-5'>渲染</b>優劣<b class='flag-5'>分析</b>

    電動工具的失效模式分析

    常見的失效模式分析
    發表于 12-30 14:13 ?0次下載
    主站蜘蛛池模板: 欧美zooz人与禽交| 国产一级淫| 色宅男| 日韩三级中文字幕| 人人做人人插| 精品三级国产精品经典三| 国产日本在线播放| 亚洲天天做夜夜做天天欢人人| 五月天婷婷在线视频国产在线| 天天射天天操天天| 久久久美女视频| 色涩在线观看| 免费久久精品国产片香蕉| 一级一级女人18毛片| 天堂中文在线免费观看| 欧美三级在线观看视频| 激情午夜婷婷| 一级片在线免费| 美女性爽视频国产免费| 免费黄色欧美| 在线日韩一区| 日韩大胆| 国产九色在线| 天堂网最新版www中文| www.天天干| 嘿嘿嘿视频在线观看| 亚洲成年人免费网站| 欧美一级片网站| sihu永久在线播放地址| 久插| 能在线观看的一区二区三区| 婷婷亚洲五月| 国产在线一卡| 视频午夜| 亚洲综合国产一区二区三区| 亚洲欧美国产高清va在线播放| 欧美色伊人| 夜夜爱夜夜做| www.五月激情| 亚洲图色视频| 精品欧美一区二区三区 |