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

Standart görünümler kullanan Wear OS uygulamaları, otomatik donanım hızlandırmalı grafik oluşturma işlevinden yararlanır. Ancak kadranlar genellikle kanvas kullanılarak uygulanır. Bu nedenle, donanım hızlandırmayı otomatik olarak almaz.

Kadranınız için neden donanım hızlandırmalı tuval kullanmalısınız?

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

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

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

Kadranınızın donanım hızlandırma kullanıp kullanmadığını geliştirici seçeneklerinden veya adb bölümünden kontrol edebilirsiniz.

Geliştirici seçeneklerini kullanarak kontrol etme

Kadranınızda donanım hızlandırmanın kullanılıp kullanılmadığını kontrol etmek için geliştirici seçeneklerini kullanmak istiyorsanız şu adımları uygulayın:

  1. Wear OS cihazda Ayarlar > Geliştirici seçenekleri'ne gidin.
  2. GPU profili oluşturma hatasını ayıkla'yı etkinleştirin.

    Bu seçenek, her yüzeyde bir tane olmak üzere görünür yüzeylerin üzerine bir bindirme çizerek söz konusu yüzey için GPU oluşturma işleminin 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ızın oluşturulan her karesi için sağdan sola hareket eden yeni bir çubuk görürsünüz.

Adb kullanarak kontrol et

Kadranınızda donanım hızlandırmanın kullanılıp kullanılmadığını adb kullanarak kontrol etmek için şu adımları uygulayın:

  1. 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ızın donanım hızlandırma kullanıp kullanmadığı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. Genel olarak, çıkışınız 0'dan fazla oluşturulan toplam kare sayısını gösteriyorsa kadranınız hızlandırılmış tuval kullanır. Aksi takdirde, oluşturulan toplam kare sayısı ve rapordaki diğer kare verileri normalde 0 olur.

Bununla birlikte, gfxinfo çıktısı uygulamanızın tam paketi için sağlandığından, donanım hızlandırmalı tuval dışındaki bir şeyden (uygulamanızın yapılandırma ekranı için kullandığı bir Activity gibi) 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. Ardından, Total frames rendered değerinin artıp artmadığını kontrol etmek için adb shell dumpsys gfxinfo komutunu yeniden ç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 uygulamalardan yararlanın.

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

Kadranınızda uzun süre çalışan animasyonlar varsa donanım hızlandırmayı kullanmak cihazın pil ömrünü büyük ölçüde azaltabilir. Kadranınız her karede çizim yapmaya çalışırsa bu sorun daha da kötüleşebilir. Kullanıcılarınızı olumsuz olarak etkilememek için kadranınızda uzun süre çalışacak animasyonlar kullanmayın. Bu kılavuz, donanım hızlandırmanın kullanımına özel değildir ancak donanım hızlandırmayı kullanmak, çizebileceğiniz kare sayısını artırdığından bunu uygulamak daha da önemlidir. Daha fazla bilgi için Animasyonlar için en iyi uygulamalar bölümüne 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 bölümünü inceleyin. Desteklenmeyen bir işlem kullanan küçük bir kod yolunuz varsa bit eşlem destekli bir tuval oluşturabilir ve ardından bu bit eşlemi canvas.drawBitmap() kullanarak saat kadranının zeminine çizebilirsiniz.

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

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şleminden veya donanım hızlandırmalı zeminde desteklenmeyen bir çizim işleminden kaçınmak isterseniz Canvas.isHardwareAccelerated() işaretini işaretleyip alternatif işlevi sağlayabilirsiniz.