Donanım hızlandırma ile kadran performansınızı iyileştirin

Standart görünümleri kullanan Wear OS uygulamaları, otomatik donanım hızlandırmalı grafik oluşturma özelliğinden yararlanır. Ancak kadranlar genellikle kanvaslar kullanılarak uygulandığında otomatik olarak donanım hızlandırma almaz.

Kadranınızda neden donanım hızlandırmalı tuval kullanmalısınız?

Çoğu durumda, kadranınız donanım hızlandırmalı bir tuval kullandığınızda daha yüksek bir kare hızında oluşturulur. Daha yüksek kare hızlarında animasyonlar ve geçişler göze daha yumuşak görünür ve bu da daha iyi bir kullanıcı deneyimi sağlar.

Donanım hızlandırmalı bir kanvas kullandığınızda kadranınızla ilgili daha fazla kullanıcı arayüzü performans verisine de erişebilirsiniz. Örneğin, yalnızca donanım hızlandırmalı tuval kullanırken Kullanıcı arayüzü performansını ölçme bölümünde açıklanan ayrıntılı kare bilgilerine erişebilirsiniz.

Kadranım donanım hızlandırmayı kullanıyor mu?

Geliştirici seçeneklerini veya adb özelliğini kullanarak kadranınızda donanım hızlandırmanın kullanılıp kullanılmadığını kontrol edebilirsiniz.

Geliştirici seçeneklerini kullanarak kontrol etme

Geliştirici seçeneklerini kullanarak kadranınızda donanım hızlandırmanın kullanılıp kullanılmadığını kontrol etmek için şu adımları uygulayın:

  1. Wear OS cihazda Ayarlar > Geliştirici seçenekleri'ne gidin.
  2. GPU profili hata ayıklama'yı etkinleştirin.

    Bu seçenek, görünür yüzeylerin üstünde (her yüzeyde bir tane olacak şekilde) bir yer paylaşımı çizerek söz konusu yüzey için GPU oluşturmanın her aşamasında harcanan süreyi gösterir.

  3. Cihazda kadranınıza geri dönün.

  4. Kadranınızda donanım hızlandırmalı tuval kullanılıyorsa kadranınızda oluşturulan her kare için sağdan sola doğru hareket eden yeni bir çubuk görürsünüz.

Adb kullanarak kontrol etme

Kadranınızda donanım hızlandırmanın kullanılıp kullanılmadığını kontrol etmek üzere adb özelliğini kullanmak için şu adımları uygulayın:

  1. Bir Wear OS cihazda kadranı, test etmek istediğiniz kadranınızla değiştirin.
  2. Kadranı etkileşimli modda birkaç saniye çalıştırın.
  3. Kadranınızda donanım hızlandırma kullanılıp kullanılmadığını kontrol etmek için aşağıdaki adb komutunu çalıştırın:

    adb shell dumpsys gfxinfo [package-name]

Komutu çalıştırdıktan sonra, aşağıdaki örneğe benzer bir çıkış alırsınız:

Applications Graphics Acceleration Info:
Uptime: 2239933 Realtime: 13568751

** Graphics info for pid 1100 [package-name] **

Stats since: 59875589194ns
Total frames rendered: 1213
Janky frames: 0 (0.00%)
50th percentile: 7ms
90th percentile: 18ms
95th percentile: 25ms
99th percentile: 150ms
Number Missed Vsync: 0
Number High input latency: 0
Number Slow UI thread: 0
Number Slow bitmap uploads: 0
Number Slow issue draw commands: 0
Number Frame deadline missed: 0

...

Bu örnek çıkışta Total frames rendered yazan satıra dikkat edin. Genellikle çıkışınız 0'dan büyük oluşturulan toplam kare sayısını gösteriyorsa kadranınız hızlandırılmış bir tuval kullanır. Aksi takdirde, oluşturulan toplam kare sayısı ve rapordaki diğer kare verileri normalde 0 olur.

Ancak gfxinfo, uygulamanızın tam paketinin çıktısı olduğundan, donanım hızlandırmalı tuval dışındaki bir alandan (örneğin, uygulamanızın yapılandırma ekranı için kullandığı bir Activity) bazı kare süresi bilgileri görebilirsiniz. Farkı belirtmek için, kadranınızın görünen tek yüzey olduğundan emin olun ve ardından Total frames rendered değerinin yükselip yükselmediğini kontrol etmek için adb shell dumpsys gfxinfo komutunu tekrar çalıştırın.

En iyi uygulamalar

Kullanıcılarınıza mümkün olan en iyi deneyimi sunmak için buradaki en iyi uygulamaları izleyin.

Pil ömrünü en üst düzeye çıkarma

Kadranınızda uzun süredir devam eden animasyonlar varsa donanım hızlandırmayı kullanmak cihazın pil ömrünü önemli ölçüde kısaltabilir. Kadranınız her karede çizim yapmaya çalışırsa bu sorun daha da kötüleşebilir. Kullanıcılarınızı olumsuz şekilde etkilememek için kadranınızda uzun süreli animasyonlar kullanmayın. Bu kılavuz, donanım hızlandırmayı kullanmaya özel değildir ancak donanım hızlandırmayı kullanmak çizebileceğiniz kare sayısını artırdığından takip etmeniz daha da önemlidir. Daha fazla bilgi için Animasyonlar için en iyi uygulamalar konusuna bakın.

Desteklenen çizim işlemlerini kullanma

Donanım hızlandırma kullanılırken bazı çizim işlemleri desteklenmez. Desteklenen özellikler hakkında bilgi edinmek için Donanım hızlandırma başlıklı makaleyi inceleyin. Desteklenmeyen bir işlem kullanan küçük bir kod yolunuz varsa bit eşlem destekli bir tuval oluşturabilir ve ardından canvas.drawBitmap() kullanarak bu bit eşlemi kadranın kanvasına çizebilirsiniz.

Donanım hızlandırmayı kullanırken uyumluluğu koruyun

Donanım hızlandırma, Android 9 (API düzeyi 28) veya sonraki sürümleri çalıştıran Wear OS cihazlarda kullanılabilir. Donanım hızlandırmanın kullanılamadığı eski cihazlarda belirli bir çizim işlemini veya donanım hızlandırmalı tuvalde desteklenmeyen bir çizim işlemini önlemek isterseniz Canvas.isHardwareAccelerated() kutusunu işaretleyip alternatif işlevleri sağlayabilirsiniz.