AGI sorunlarını giderme

Bu konuda, Android GPU Denetleyicisi'ni kullanırken yaygın olarak karşılaşılan sorunların nasıl düzeltileceği açıklanmaktadır. (AGI) .

AGI ayarları sıfırlanıyor

AGI, ayarlarını ~/.agic dosyasında depolar. Bu dosyanın kaldırılması, son açılan izler ve cihaz doğrulama sonuçları.

AGI bazı cihazlarda başarısız oluyor

Lütfen kurulumunuzun tüm gereksinimleri karşıladığından emin olun şartları inceleyin.

Aşağıdakiler de yardımcı olabilir:

  • Android gibi ADB üzerinden cihazla etkileşimde bulunabilecek programları durdurun Stüdyo'yu seçin.

  • Şu işlemleri yapmak için Stay awake seçeneğini etkinleştirin (Android'de Geliştirici seçenekleri altında). cihaz ekranı uyku modu nedeniyle kapandığında ortaya çıkan sorunları önler.

Sistem profil aracı, OpenGL ES oyunları için GPU etkinliğini bildirmez

Şu anda OpenGL ES'yi izlediğinizde yalnızca GPU sayaçları desteklenmektedir bir uygulamadır. OpenGL ES uygulamaları için GPU etkinliği bilgileri etkin değil bahsedeceğim.

Çerçeve profil aracı bazı Vulkan oyunlarında başarısız oluyor

Doğrulamanız gereken ilk şey, oyununuzun Vulkan'ı doğru şekilde kullandığıdır. Şunu kullanın: Vulkan doğrulama katmanı ve oyununuzun hiçbir hata veya uyarı vermediğinden emin olun.

Herhangi bir Vulkan doğrulama hatası varsa AGI çerçeve profil aracı beklenmiyordur işe yarıyor.

Çerçeve profil aracı izlemesi oluşturulurken oyun hatası

Oyun AGI olmadan başarılı bir şekilde çalışıyor ancak bir kare oluşturulurken çalıştırılamıyorsa profil izleme ise oyun başlatılırken farklı bir işlemi çatallıyor olabilir tıklayın. Bu durumda, izlemek istediğiniz işlemin adını "İşlem adı" izleme seçeneklerindeki alana girin.

Bu sorunu tespit etmek için bir iz oluştururken logcat çıkışını kontrol edebilirsiniz ve farklı bir sürecin başlatılıp başlatılmadığını doğrulayın:

# Clear the logcat output
adb logcat -c

## Use AGI to attempt to create a frame profile trace

Look at the logcat output to identify the processes that are running AGI. 

adb logcat | grep "this process name"
I GAPID   : gapii [gapii/cc/spy.cpp:109] this process name: com.example.mygame
I GAPID   : gapii [gapii/cc/spy.cpp:109] this process name: com.example.mygame:GameProcess

Çoğu oyunda yalnızca bir süreç vardır. Yukarıdaki örnekte, bir performanstan bir oyundur.

Oyun, com.example.mygame adlı bir ana süreçte başlıyor ve ardından çatallanıyor. com.example.mygame:GameProcess adlı yeni işlem. Asıl oyun oluşturma işlemi ikinci işlemde gerçekleşirse bunu Bu, izlemek istediğiniz işlem olduğuna karar verin. Bu işlemi, Process name alanına işlemin adını girerek yapabilirsiniz. izleme seçeneği iletişim kutusu gösterilir.

AGI kullanıldıktan sonra oyun hatası

Bir iz düzgün bir şekilde sona ermezse AGI, bazı Android ayarlarını olduğu gibi bırakabilir uygulamanın sonraki çalıştırmalarını kesintiye uğratabilecek bir durumdur. Bu ayarlar şunlardır:

  • Vulkan katmanlarıyla ilgili ayarlar:

    • enable_gpu_debug_layers

    • gpu_debug_app

    • gpu_debug_layers

    • gpu_debug_layer_app

  • ANGLE ile ilgili ayarlar:

    • angle_debug_package

    • angle_gl_driver_selection_values

    • angle_gl_driver_selection_pkgs

AGI'yı kullandıktan sonra uygulamanızda herhangi bir sorun olursa bunları temizlemeyi deneyebilirsiniz aşağıdaki adb komutlarıyla değiştirin:

# Vulkan layers
adb shell settings delete global enable_gpu_debug_layers
adb shell settings delete global gpu_debug_app
adb shell settings delete global gpu_debug_layers
adb shell settings delete global gpu_debug_layer_app
# ANGLE
adb shell settings delete global angle_debug_package
adb shell settings delete global angle_gl_driver_selection_values
adb shell settings delete global angle_gl_driver_selection_pkgs

Oyununuz AGI ile başlatılırken kare profili izlemesi oluşturulurken farklı görünüyor

AGI, bir çerçeve profili izlemesi oluşturmak için Bu durum, oyun oluşturmayı etkileyebilir.

AGI, Vulkan çağrılarını yakalar. OpenGL ES oyunlarında AGI, OpenGL ES'yi çevirmek için ANGLE Vulkan'a gönderebilirsiniz. Oyununuz farklı görünüyorsa (ör. bazı renkler beklediğiniz gibi değilse) AGI aracılığıyla başlatırsanız, bu büyük olasılıkla AGI veya ANGLE'daki bir hatadır. Sorunun temel nedenini daha iyi anlamamıza yardımcı olmak için şunları deneyin.

Vulkan oyunları: Desteklenen tüm Vulkan uzantılarıyla izleme

Bilinmeyen Uzantıları Dahil Et izleme seçeneği, AGI'nin desteklenmeyen Vulkan uzantılarını dahil edin. (Göz at desteklenen uzantıların listesini inceleyin.)

Uygulamanız AGI tarafından desteklenmeyen bir uzantı kullanıyorsa ve sistemdeki belli başlı hatalar ve kilitlenmeler dahil olmak üzere, izler.

Bu seçeneği etkinleştirmeyi deneyin, ardından başka bir kare profil aracı izlemesi başlatın. Maç seçenek etkinleştirildiğinde beklendiği gibi görüntüleniyorsa oyun bir Vulkan bir uzantı ekleyin.

OpenGL ES oyunları: Yalnızca ANGLE ile çalıştırma

OpenGL ES oyununuzu ANGLE ile ancak AGI olmadan çalıştırabilirsiniz. Böylece, sorunun yanlış olup olmadığını görebilirsiniz. oluşturma, ANGLE'daki bir sorundan kaynaklanıyor.

Daha önce OpenGL ES'nizin çerçeve profili izini oluşturmayı denediyseniz sonra ANGLE'ı cihazınıza zaten yüklemiş olabilirsiniz. ANGLE paketinde AGI'nin adı org.chromium.angle.agi.

Oyununuzu ANGLE üzerinde çalışmaya zorlamak için aşağıdaki komutları kullanın:

# Make sure that the AGI capture layer will be ignored
adb shell settings delete global enable_gpu_debug_layers
# Force the package com.example.mygame to use ANGLE
adb shell settings put global angle_debug_package org.chromium.angle.agi
adb shell settings put global angle_gl_driver_selection_values angle
adb shell settings put global angle_gl_driver_selection_pkgs com.example.mygame

Oyun, bu ayarlarla farklı görünüyorsa muhtemelen ANGLE'ı seçin. Oyun bu ayarlarla doğru görünüyor, ancak farklıysa muhtemelen AGI'de bir hatadır.

AGI hatalarını bildirmek için bir GitHub sorunu.