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.