chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

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

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

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

如何使用QML Profiler來分析QML應(yīng)用

工程師鄧生 ? 來源:嵌入式小生 ? 作者:iriczhao ? 2022-09-13 11:37 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

在QML應(yīng)用開發(fā)過程中,可以使用QML Profiler來查找應(yīng)用程序中典型性能問題的原因,例如啟動慢、響應(yīng)慢、用戶界面不流暢等。

本文主要以QML Profiler工具本身出發(fā),描述如何使用QML Profiler來分析QML應(yīng)用,記錄其常規(guī)使用方法。

設(shè)置QML Profiler

在QtCreator中,依次打開編輯->Preferences->分析器->QML Profiler:

5ff68bee-3231-11ed-ba43-dac502259ad0.png

可以選中“Flush data while profiling”復(fù)選框,用于在分析停止時定期刷新數(shù)據(jù),這將節(jié)省目標設(shè)備上的內(nèi)存,縮短了停止分析和顯示數(shù)據(jù)之間的等待時間。

在“Flush interval”字段中,以毫秒為單位設(shè)置刷新間隔。間隔時間越短,刷新數(shù)據(jù)的頻率就越高。間隔越長,目標應(yīng)用程序中需要緩沖的數(shù)據(jù)就越多,可能會浪費內(nèi)存。但是,刷新本身是需要時間的,這可能會影響分析結(jié)果的顯示。

如果有多個QML引擎,并且希望將所有引擎產(chǎn)生的數(shù)據(jù)聚合到一個跟蹤視圖中,那么就選中“ Process data only when process ends”復(fù)選框。如果不選中,當一個引擎停止時,分析就停止了。

注:在QtCreator中,一般不用設(shè)置QML Profiler,我們直接使用就可以了

使用QML Profiler

在QtCreator中使用QML Profiler分析應(yīng)用軟件,按照以下步驟即可:在已經(jīng)創(chuàng)建了一個項目工程的前提下,依次點擊Analyze -> QML Profiler:

60293cc4-3231-11ed-ba43-dac502259ad0.png

然后會自動編譯運行對應(yīng)的項目工程,QML Profiler在我們的應(yīng)用軟件運行過程中,會出現(xiàn)下圖所示的類似信息:

6051494e-3231-11ed-ba43-dac502259ad0.png

(當程序開始運行后,會自動進行時間計數(shù)。如果有輸入事件,還會顯示對應(yīng)的事件捕獲信息)

分析收集的數(shù)據(jù)

在QML應(yīng)用程序退出后,則會在QML Profiler視圖中自動顯示數(shù)據(jù),如下圖所示:60744ef8-3231-11ed-ba43-dac502259ad0.png

上圖中,水平為時間軸,該時間軸是監(jiān)聽QML應(yīng)用軟件開始到結(jié)束的時間。上方有對應(yīng)的時刻顯示;中間位置則是統(tǒng)計的數(shù)據(jù),我們可以用鼠標點擊對應(yīng)的數(shù)據(jù)區(qū)塊(可以在信息顯示欄中看到對應(yīng)時間內(nèi)區(qū)塊的數(shù)據(jù)情況)。左側(cè)是事件分類,事件在時間軸視圖的以一行或多行顯示。可用的事件類型取決于應(yīng)用程序編譯時所使用的Qt版本以及使用的Qt Quick版本。在顯示數(shù)據(jù)時,有如下表所示的事件分類:

事件分類 描述
Pixmap Cache 以像素為單位顯示緩存的pixmap數(shù)據(jù)的總體數(shù)量。此外,顯示一個單獨的事件,每當加載一張圖片,顯示與它相關(guān)的文件名和大小信息
Scene Graph 顯示渲染場景圖幀的時間,以及渲染的各個階段的額外的時間信息
Memory Usage 顯示JavaScript內(nèi)存管理器的塊分配。通常,內(nèi)存管理器會將較大的內(nèi)存塊保存為一塊,然后將它們以較小的塊分發(fā)給應(yīng)用程序。如果應(yīng)用程序請求單個內(nèi)存塊超過某個大小,內(nèi)存管理器將分別分配這些內(nèi)存塊。這兩種操作模式以不同顏色的事件顯示。第一行顯示內(nèi)存管理器所分配的大內(nèi)存塊的大??;第二行顯示所分配內(nèi)存的實際使用情況,這是應(yīng)用程序?qū)嶋H請求的JavaScript堆的大小
Input Events 顯示鼠標和鍵盤事件
Painting 顯示為每幀繪制場景所花費的時間
Animations 顯示活動的動畫數(shù)量和它們運行的幀率。使用Qt 5.3或更高版本構(gòu)建的應(yīng)用程序?qū)@示有關(guān)渲染線程動畫的信息。然后渲染線程動畫顯示在單獨的行中。
Compiling 顯示編譯QML文件所花費的時間。
Creating 顯示場景中創(chuàng)建元素所花費的時間。在Qt Quick 2中,創(chuàng)建元素組件分為兩個階段:(1)第一個階段是創(chuàng)建數(shù)據(jù)結(jié)構(gòu),包括子元素。(2)第二個階段表示完成回調(diào)機制處理(信號和信號處理機制)。但是,并不是所有元素都觸發(fā)完成回調(diào)。這兩個階段在時間軸中顯示為獨立的事件。
Binding 顯示計算綁定的時間以及計算所需的時間
Handling Signal 顯示處理信號的時間以及處理所需的時間。
JavaScript 顯示在綁定和信號處理程序后面執(zhí)行實際JavaScript所花費的時間。它列出了可能用于計算綁定或處理信號的所有JavaScript函數(shù)。

注:由于QML應(yīng)用程序在啟動創(chuàng)建過程中,組件的創(chuàng)建時間極短(一般都是在微秒級別),然而在時間線視圖中所呈現(xiàn)的是所有監(jiān)聽時間內(nèi)的數(shù)據(jù),如下圖所示:

60a7808e-3231-11ed-ba43-dac502259ad0.png

所以需要縮小時間軸(按住Ctrl,向上滾動鼠標中鍵或者用鼠標拖動時間軸)去查看組件創(chuàng)建相關(guān)的數(shù)據(jù)信息。例如下圖所示:

60d09be0-3231-11ed-ba43-dac502259ad0.png

(由上圖可見,大約需要2.41ms創(chuàng)建完QML的小組件)

從Flame Graph視圖分析數(shù)據(jù)

『Flame Graph』視圖顯示了關(guān)于QML和JavaScript執(zhí)行情況的更簡明的統(tǒng)計信息。在Total Time視圖中,水平條顯示了相對于所有JavaScript和QML事件的總的運行時間,還顯示調(diào)用某個函數(shù)所花費的總時間,而且嵌套顯示了函數(shù)調(diào)用情況。

在下拉菜單中選擇Memory,可以查看各函數(shù)分配的內(nèi)存總量

如果要查看函數(shù)分配的內(nèi)存數(shù)量,就需要選中下拉菜單中的Allocations一欄。如下圖所示:

60f67144-3231-11ed-ba43-dac502259ad0.png

(這張圖可以“從下往上”看,越往上就是QML中的最小元素了。點擊視圖中的某一項同時會跳轉(zhuǎn)到在代碼中的對應(yīng)行上。)

注:使用鼠標左鍵雙擊視圖中的項目可以放大對應(yīng)視圖。雙擊視圖中的空白區(qū)域可以再次縮小。

與『Timeline』視圖不同,在沒有QML或JavaScript運行的時候,『Flame Graph』視圖不顯示時間跨度,因此,『Flame Graph』不適合分析QML應(yīng)用中每幀的執(zhí)行時間(『Timeline』視圖更適合)。但是,該視圖可以很清晰的看到在QML應(yīng)用程序運行過程中,各種QML和JavaScript事件的總體情況。

從Statistics視圖分析數(shù)據(jù)

『Statistics』視圖顯示了QML應(yīng)用中binding、create、compile、JavaScript或信號事件被觸發(fā)的次數(shù),以及花費的平均時間,如下圖所示:

612967ac-3231-11ed-ba43-dac502259ad0.png

這可以讓我們檢查需要優(yōu)化的事件,如果某事件大量出現(xiàn)可能表明觸發(fā)了不必要的事件。要查看事件發(fā)生的中位數(shù)、最長時間和最短時間,可以在上下文菜單中選擇擴展事件統(tǒng)計。
6153bb88-3231-11ed-ba43-dac502259ad0.png

接著數(shù)據(jù)顯示將如下圖所示:

61742094-3231-11ed-ba43-dac502259ad0.png

Caller和Callee一欄顯示了事件之間的依賴關(guān)系,用于檢查應(yīng)用程序的內(nèi)部功能。Caller一欄表示觸發(fā)綁定的QML事件,通過Caller我們可以知道是什么觸發(fā)了綁定中的更改。Callee表示綁定觸發(fā)的QML事件,從Callee我們可以知道如果更改綁定,哪些QML事件將會受到影響。

結(jié)尾

在QML應(yīng)用程序中,出現(xiàn)啟動慢、響應(yīng)慢、用戶界面不流暢等性能方面的問題時。典型的原因可能是:在太少的幀中執(zhí)行了太多的JavaScript。這意味著所有的JavaScript都必須在GUI線程繼續(xù)運行之前返回(執(zhí)行完成)。

導(dǎo)致類似性能問題的另一個典型原因是:創(chuàng)建、繪制或更新了不可見項,該操作在GUI線程中需要花費許多的時間。

在QML Profiler分析視圖中,為了發(fā)現(xiàn)過度使用JavaScript,應(yīng)檢查Animations和Scene Graph事件中的幀率,尋找間隙,并檢查應(yīng)用程序是否如預(yù)期的那樣運行。對于JavaScript類別顯示函數(shù)的運行時間,應(yīng)該盡量將其控制在每幀16毫秒以下(注:官方文檔給出的參數(shù))。

要發(fā)現(xiàn)如果是不可見項引起的性能問題,需要查找丟失的幀,并檢查是否在應(yīng)用程序代碼中使用了太多的短綁定每幀都要更新的信號處理程序。除此之外,我們還可以可視化場景圖,并找到不可見的項目,因為這些項目往往位于屏幕外或隱藏在其他可見元素之下,稍不留神就溜了。

本文主要描述了如何使用QML Profiler來分析應(yīng)用程序,更多的內(nèi)容是從工具本身出發(fā)的。如果后續(xù)遇著QML應(yīng)用軟件設(shè)計上的嚴重性能問題時,在寫寫啦。




審核編輯:劉清

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

    關(guān)注

    20

    文章

    2997

    瀏覽量

    115685
  • 管理器
    +關(guān)注

    關(guān)注

    0

    文章

    264

    瀏覽量

    19443
  • 分析器
    +關(guān)注

    關(guān)注

    0

    文章

    93

    瀏覽量

    12882

原文標題:一文入門QML應(yīng)用程序的性能分析

文章出處:【微信號:嵌入式小生,微信公眾號:嵌入式小生】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    ?ADC14155QML-SP 14位155MSPS輻射加固模數(shù)轉(zhuǎn)換器技術(shù)文檔總結(jié)

    ADC14155QML-SP是一款高性能的CMOS模擬轉(zhuǎn)數(shù)字轉(zhuǎn)換器,能夠?qū)⒛M輸入信號轉(zhuǎn)換為14位數(shù)字字,速率最高可達155 MSPS。該轉(zhuǎn)換器采用差分流水線架構(gòu),具備數(shù)字糾錯和片上采樣保持電路,以
    的頭像 發(fā)表于 11-24 15:32 ?302次閱讀
    ?ADC14155<b class='flag-5'>QML</b>-SP 14位155MSPS輻射加固模數(shù)轉(zhuǎn)換器技術(shù)文檔總結(jié)

    LM98640QML-SP 抗輻射雙通道 14 位高速模擬前端(AFE)總結(jié)

    LM98640QML-SP是一款全集成的高性能14位、5MSPS至40MSPS信號處理解決方案。串行LVDS輸出格式在單事件暴露時表現(xiàn)良好,防止數(shù)據(jù)丟失。LM98640QML-SP具備自適應(yīng)功率縮放
    的頭像 發(fā)表于 11-20 14:37 ?296次閱讀
    LM98640<b class='flag-5'>QML</b>-SP 抗輻射雙通道 14 位高速模擬前端(AFE)總結(jié)

    ADC12D1620QML-SP技術(shù)手冊

    與ADC12D1600QML相比,該ADC12D1620QML采用封裝重新設(shè)計,以實現(xiàn)更好的ENOB、SNR和X-talk。與其前身一樣,該ADC12D1620QML是一款低功耗、高性能CMOS
    的頭像 發(fā)表于 11-07 14:03 ?413次閱讀
    ADC12D1620<b class='flag-5'>QML</b>-SP技術(shù)手冊

    ADC12DJ3200QML-SP 抗輻射性保證 (RHA)、QMLV、300 克拉德、12 位、雙通道 3.2GSPS技術(shù)手冊

    ADC12DJ3200QML-SP器件是一款RF采樣、千兆采樣、模數(shù)轉(zhuǎn)換器(ADC),可直接對直流至10GHz以上的輸入頻率進行采樣。在雙通道模式下,ADC12DJ3200QML-SP 可以采樣高達
    的頭像 發(fā)表于 11-04 10:59 ?391次閱讀
    ADC12DJ3200<b class='flag-5'>QML</b>-SP 抗輻射性保證 (RHA)、QMLV、300 克拉德、12 位、雙通道 3.2GSPS技術(shù)手冊

    LM136-5.0QML 5.0V 基準二極管技術(shù)手冊

    LM136A-5.0QML/LM136-5.0QML集成電路是精密5.0V分流穩(wěn)壓二極管。這些單片IC基準電壓源作為低溫度系數(shù)5.0V齊納管工作,動態(tài)阻抗為0.6Ω。LM136-5.0 上的第三個
    的頭像 發(fā)表于 08-18 13:50 ?771次閱讀
    LM136-5.0<b class='flag-5'>QML</b> 5.0V 基準二極管技術(shù)手冊

    LM136A-2.5QML 2.5V 基準二極管技術(shù)手冊

    LM136A-2.5QML集成電路是一款精密的2.5V并聯(lián)穩(wěn)壓二極管。該單片IC基準電壓源作為低溫度系數(shù)的2.5V齊納管工作,動態(tài)阻抗為0.2Ω。LM136A-2.5QML 上的第三個端子可以輕松
    的頭像 發(fā)表于 08-18 13:38 ?799次閱讀
    LM136A-2.5<b class='flag-5'>QML</b> 2.5V 基準二極管技術(shù)手冊

    ?LM136A-2.5QML/LM136A-2.5QML-SP 技術(shù)文檔摘要

    LM136A-2.5QML集成電路是一款精密的2.5V并聯(lián)穩(wěn)壓二極管。該單片IC基準電壓源作為低溫度系數(shù)的2.5V齊納管工作,動態(tài)阻抗為0.2Ω。LM136A-2.5QML 上的第三個端子可以輕松
    的頭像 發(fā)表于 08-15 09:55 ?781次閱讀
    ?LM136A-2.5<b class='flag-5'>QML</b>/LM136A-2.5<b class='flag-5'>QML</b>-SP 技術(shù)文檔摘要

    ?LM4050QML精密微功耗并聯(lián)電壓基準芯片技術(shù)文檔總結(jié)

    LM4050QML精密基準電壓源采用10引腳陶瓷CLGA封裝。 該LM4050QML的設(shè)計消除了對外部穩(wěn)定電容器的需求,同時確保 具有容性負載的穩(wěn)定性,從而使LM4050QML易于
    的頭像 發(fā)表于 08-13 09:36 ?807次閱讀
    ?LM4050<b class='flag-5'>QML</b>精密微功耗并聯(lián)電壓基準芯片技術(shù)文檔總結(jié)

    motor profiler參數(shù)識別卡在7%是什么原因啊?

    motor profiler參數(shù)識別卡在7%是什么原因啊,電機只響不動,手動旋轉(zhuǎn)有阻力,頓感
    發(fā)表于 07-10 06:14

    LF411QML-SP 航天級、單路、30V、3MHz、低失調(diào)電壓運算放大器技術(shù)手冊

    非常低的輸入偏置和偏移電流。LF411QML與標準LM741引腳兼容,使設(shè)計人員能夠立即升級現(xiàn)有設(shè)計的整體性能。
    的頭像 發(fā)表于 05-08 10:23 ?792次閱讀
    LF411<b class='flag-5'>QML</b>-SP 航天級、單路、30V、3MHz、低失調(diào)電壓運算放大器技術(shù)手冊

    LM117QML-SP 抗輻射 QMLV、4.2V 至 40V 輸入、1.5A 可調(diào)輸出線性穩(wěn)壓器數(shù)據(jù)手冊

    LM117QML-SP 3 端子正電壓線性穩(wěn)壓器能夠在 1.2V 至 37V 的輸出范圍內(nèi)提供 0.5A 或 1.5A 的電流。它使用簡單,只需要兩個外部電阻器設(shè)置輸出電壓。
    的頭像 發(fā)表于 03-13 17:13 ?1016次閱讀
    LM117<b class='flag-5'>QML</b>-SP 抗輻射 QMLV、4.2V 至 40V 輸入、1.5A 可調(diào)輸出線性穩(wěn)壓器數(shù)據(jù)手冊

    HarmonyOS NEXT 原生應(yīng)用/元服務(wù)-DevEco Profiler性能優(yōu)化過程

    潛在的性能瓶頸及熱點區(qū)域,例如CPU占用超過預(yù)期、內(nèi)存異常增大等; 2.創(chuàng)建深度分析任務(wù),通過詳細的應(yīng)用運行時數(shù)據(jù),例如perf、內(nèi)存對象等信息,分析并定位性能問題出現(xiàn)的根因; 3.根據(jù)性能
    發(fā)表于 02-19 15:28

    HarmonyOS NEXT 原生應(yīng)用/元服務(wù)-DevEco Profiler性能調(diào)優(yōu)概述

    Monitor)能力,提供全方位的設(shè)備資源監(jiān)測,覆蓋系統(tǒng)事件、異常報告、CPU占用、內(nèi)存占用、實時幀率、GPU使用率以及能耗等多個維度的數(shù)據(jù),自頂向下逐層展開分析,并可借助DevEco Profiler
    發(fā)表于 02-14 15:19

    ADC08D1520QML可以采集到的最高頻率是多少?

    如題,ADC08D1520QML的采樣率為最高3GSPS。那如果我要采集的信號的頻率是1GHZ的,采集效果會如何呢?
    發(fā)表于 02-06 06:51

    博泰車聯(lián)網(wǎng)廈門制造基地順利通過IPC QML審核

    近日,博泰車聯(lián)網(wǎng)廈門制造基地經(jīng)過IPC嚴格的審核,生產(chǎn)工藝與產(chǎn)品質(zhì)量符合電子行業(yè)國際標準IPC-A-610《電子組件的可接受性》三級產(chǎn)品要求與IPC J-STD-001《焊接的電氣與電子組件要求》,順利通過IPC QML審核,榮列IPC全球可信任資源庫,彰顯制造實力。
    的頭像 發(fā)表于 01-02 14:20 ?978次閱讀