Yüzey Fırlatıcı

SurfaceFlinger dökümü, SurfaceFlinger'ın belirli bir zamandaki anlık görüntüsünü sağlar. SurfaceFlinger izlemeleri, bir pencerenin ekranda nasıl göründüğüne dair değerli bilgiler sağlayan ve belirli konumlarda hangi pencerenin dokunma yanıtlarını aldığına karar veren, zamana göre sıralanmış bir durum dizisi içerir. Uygulama dokunma işlemimize yanıt vermiyor veya Video izlerken titreşim oluştu gibi sorunların giderilmesi için bu bilgiler gereklidir.

Winscope'un SurfaceFlinger görüntüleyicisi, etkin mod kullanılarak toplanan veya bir hata raporu alınırken işlem izlemeden oluşturulan izlemeler (varsayılan olarak Droidfood yapılandırması) için bu bilgileri ve ayrıca dökümü gösterir.

İz toplama hakkında daha fazla bilgi için SurfaceFlinger (katmanlar) bölümüne bakın.

SurfaceFlinger izleme analizi

Şekil 1. SurfaceFlinger izleme analizi.

Ekranın sol tarafında katmanların 3D görünümü gösterilir. Dikdörtgen görünümü, katman sınırlarını, z düzenini, opaklığı, göreli Z'yi ve yuvarlatılmış köşeleri dikkate alır.

Hiyerarşi çipleri

Sekmenin orta segmentinde, katmanlar arasındaki üst-alt ilişkileri gibi daha fazla bilgi için katman hiyerarşisi çiplerle gösterilir.

  • V: Görünür katmanları tanımlar.
  • RelZParent: RelZ alt öğesi olan katmanları tanımlar.
  • RelZ: RelZParent içeren ve hiyerarşileri z sırasına göre çizilen katmanları tanımlar.
  • HWC: Donanım Derleyici tarafından oluşturulan katmanları tanımlar.
  • GPU: GPU tarafından oluşturulan katmanları tanımlar.

Ekranın sağ tarafında, seçili mülkler listesinin yanı sıra mevcut tüm katman özelliklerinin proto dökümü yer alır. Proto dökümü bölümünün özellikleri hakkında daha fazla bilgi için Özellikler bölümüne bakın.

Seçilen tesisler

SurfaceFlinger görüntüleyici, hata ayıklama işlemini kolaylaştırmak için en sık kullanılan bilgileri daha düzenli bir biçimde sunan, özel olarak seçilmiş bir özellik listesi sağlar:

SurfaceFlinger özellikleri

Şekil 2. SurfaceFlinger mülkleri.

Bu listede aşağıdaki kategoriler yer alır.

Görünürlük

Bu blokta, katman görünürlüğü ve katmanın neden görünmediğiyle ilgili bilgiler yer alır. Şunları içermektedir:

İşaretler: Bunlar görünürlüğü kontrol eder (ör. HIDDEN ve OPAQUE).

Görünmezlik nedeni: Katman veya yüzeyin (varsa) ekranda görünmemesinin nedeni (ör. kendisi veya üst öğesi tarafından gizlenmiş olması ya da çizilecek bir arabelleği olmaması).

Görüntü engellendi, Kısmen engellendi veya Görüntü kapalı:

  • Engellenmiş: Mevcut katman görünür olarak hesaplanır ancak bunun üzerine opak bir katman çizilir ve mevcut katman görünmez hale gelir. Engellenmiş katmanın üzerindeki katman opaktır. Yani OPAQUE işareti ayarlanmıştır veya piksel biçimi alfa içermez ya da katmanda alfa ayarlanmamıştır.
  • Kısmen örtülmüş: Üzerine çizilen opak katman mevcut katmanı tamamen örtmediği için mevcut katman kısmen görünür. Kısmen Engellenmiş katmanının üzerindeki katman opaktır, yani OPAQUE işareti ayarlanmıştır veya piksel biçimi alfa içermez ya da katmanda alfa ayarlanmamıştır.
  • Kaplı: Mevcut katman, opak olmayan bir katman tarafından tamamen veya kısmen kaplanmıştır ve ekranda görünmeye devam edebilir. Kapalı katmanın üzerindeki katman opak değil, yani OPAQUE işareti ayarlanmamış veya piksel biçimi alfa içeriyor ya da katmanda alfa ayarlanmış. Ancak SurfaceFlinger izlemeleri için Kapalı katmanı görünür olarak gösterilir. SurfaceFlinger'ın altındaki katmanlar için ise:

    SurfaceFlinger'da kaplanmış katman

    Şekil 3. SurfaceFlinger'da kaplanmış katman.

Geometri ve Efektler

Bu bölümde, geçerli katman için istenen ve hesaplanan geometri ve efektler açıklanmaktadır.

İstenen bölümünde, katmanda ayarlanan özellikler gösterilir. Buna karşılık, Hesaplanmış bölümünde katmana uygulanan özellikler gösterilir. Bu ayrım, geometri ve efektlerin hiyerarşide aşağıya aktarılması ve üst öğelerden devralınmasından kaynaklanır.

Şekil 2'de katman, Köşe Yarıçapı'nın 0 piksel olarak ayarlanmasını ister. Ancak üst katmanlarından biri Köşe Yarıçapı'nı 97,419 piksel olarak ayarlar.Bu değer uygulanır:

Arabellek

Aşağıdaki özellikler, katmanın tamponu olup olmadığı, boyutu ve dönüştürme işlemi hakkında bilgi gösterir.

  • Kare Numarası: Uygulama oluşturulduğunda başlayan artımlı sayı.
  • Hedef Kare: Arabelleği, hedef kare tarafından tanımlanan sınırlara ölçeklendirmek için kullanılır.

Hiyerarşi

Aşağıdaki özellikler, katman hiyerarşisinin nasıl belirlendiğini açıklar:

  • z-sıralama: Katman hiyerarşisinde z-sıralama, bir katmanın kardeşlerine göre göreli konumunu belirler. Z değeri 0 olan bir katman, üst öğesinin üzerinde konumlandırılır. Birden fazla katman aynı z değerini paylaşıyorsa katman kimliği daha yüksek olan katman üstte yerleştirilir.
  • göreli üst öğe: Z-sırasındaki göreli üst katmanı belirtir. Alt öğe, gizli işareti dışındaki hiçbir özelliği göreli üst öğesinden devralmaz.

Giriş

Aşağıdaki mülkler, dokunulabilir bölge ve odaklanma hakkında bilgi içerir:

  • Dokunma bölgesini öğeyle kırpma: Dokunulabilir bölgeyi kırpmak için katman sınırlarını kullanın.
  • Dokunma bölgesini kırpma ile değiştirme: Mevcut katmanların kırpma alanını dokunulabilir bölge olarak kullanın.