SurfaceFlinger

SurfaceFlinger 轉儲作業會提供 SurfaceFlinger 在特定時間點的快照。SurfaceFlinger 追蹤記錄會以時間順序顯示狀態,提供關於視窗如何在螢幕上顯示的寶貴洞察資料,並判斷哪個視窗會在特定位置接收觸控回應。如要排除「應用程式沒有回應我的觸控動作」或「觀看影片時出現閃爍」等問題,這類資訊就非常重要。

當您使用活動模式收集追蹤記錄,或在擷取錯誤報告 (預設為 Droidfood 設定) 時從交易追蹤記錄產生追蹤記錄時,Winscope 的 SurfaceFlinger 檢視器會針對這些資訊顯示追蹤記錄,以及傾印資訊。

如要進一步瞭解追蹤記錄收集作業,請參閱「SurfaceFlinger (圖層)」。

SurfaceFlinger 追蹤記錄分析

圖 1. SurfaceFlinger 追蹤記錄分析。

畫面左側會顯示圖層的 3D 檢視畫面。矩形檢視畫面會考量圖層邊界、z 順序、不透明度、相對 Z 和圓角。

階層方塊

分頁的中央區塊會顯示圖層階層,並提供更多資訊的方塊,例如圖層之間的父項子項關係,如下所示:

  • V:代表可見圖層。
  • RelZParent:識別具有 RelZ 子項的圖層。
  • RelZ:會識別具有 RelZParent 且以 z 順序繪製為階層的圖層。
  • HWC:識別由硬體編譯器組成的圖層。
  • GPU:識別由 GPU 合成的圖層。

畫面右側會列出精選的屬性清單,以及所有可用圖層屬性的proto 傾印。如要進一步瞭解 Proto 傾印區段的功能,請參閱「屬性」。

精選房源

為簡化偵錯作業,SurfaceFlinger 檢視器會提供經過精心挑選的屬性清單,以更有條理的格式呈現最常用的資訊:

SurfaceFlinger 屬性

圖 2. SurfaceFlinger 屬性。

這份清單包含下列類別:

瀏覽權限

這個區塊包含圖層顯示設定資訊,以及圖層為何無法顯示的說明。本指南涵蓋的內容:

標記:這些標記可控制可見度,例如 HIDDENOPAQUE

隱藏原因:說明為何圖層或介面在螢幕上看不到 (如適用),例如圖層或介面本身或其父項隱藏,或沒有繪製緩衝區。

「Occluded」、「Partially occluded」或「Covered」

  • 遮蔽:系統會計算目前的圖層為可見,但另一個不透明圖層會繪製在其上,因此目前的圖層會變得不可見。位於 遮蔽 圖層上的圖層為不透明,也就是說,其 OPAQUE 標記已設好,或是像素格式不含 alpha,或是圖層上未設有 alpha。
  • 部分遮蔽:由於在目前圖層上繪製的不透明圖層並未完全遮蓋該圖層,因此目前圖層會部分顯示。位於 Partially Occluded 圖層上的圖層為不透明,也就是說,已設定 OPAQUE 標記,或是像素格式不含 alpha,或是圖層上未設定 alpha。
  • 已覆蓋:目前的圖層已遭到非不透明圖層完全或部分覆蓋,但仍可能會顯示在畫面上。Covered 圖層以上的圖層並非不透明,也就是說,OPAQUE 標記未設定,或是像素格式含有 alpha,或是在圖層上設定了 alpha。不過,對於 SurfaceFlinger 追蹤記錄,如果是位於 SurfaceFlinger 下方的圖層,則會顯示為可見的「Covered」圖層:

    SurfaceFlinger 上的覆蓋層

    圖 3. 覆蓋 SurfaceFlinger 的圖層。

幾何圖形和效果

本節說明目前圖層的請求和計算幾何圖形和效果。

「Requested」部分會顯示在圖層上設定的屬性。相反地,「計算」區段會顯示套用至圖層的屬性。之所以有此差異,是因為幾何圖形和特效會沿著階層傳遞,並從父項元素繼承。

在圖 2 中,圖層要求將「Corner Radius」設為 0 像素。不過,其中一個父項圖層將「Corner Radius」設為 97.419 像素,也就是套用的值:

緩衝區

下列屬性會顯示圖層是否有緩衝區、緩衝區大小和轉換的相關資訊。

  • 影格編號:從應用程式建立開始的遞增編號。
  • 目的地影格:用於將緩衝區縮放至目的地影格定義的邊界。

階層

下列屬性說明如何決定圖層的階層:

  • z 順序:在圖層階層中,z 順序會決定圖層相對於同層級元素的相對位置。具有 0 個 z 值的圖層會位於父項上方。如果多個圖層共用相同的 z 值,則會將層 ID 較高的圖層置於頂端。
  • 相對父項:表示 z 順序中的相對父項圖層。子項不會從相對父項繼承任何屬性,隱藏標記除外。

輸入

下列屬性包含可觸控區域和焦點的相關資訊:

  • 使用項目裁剪觸控區域:使用圖層邊界裁剪可觸控區域。
  • 使用裁剪區域取代觸控區域:使用目前的圖層裁剪區域做為可觸控區域。