Mobil AIR uygulamalarında GPU oluşturma

Uygulama tanımlayıcısına <renderMode>gpu</renderMode> ekleyerek AIR uygulamasında donanım grafiği hızlandırmayı etkinleştirin. Çalışma zamanında oluşturma modlarını değiştiremezsiniz. Masaüstü bilgisayarlarda, renderMode ayarı yoksayılır; GPU grafik hızlandırma şu anda desteklenmez.

GPU oluşturma modu sınırlamaları

AIR 2.5'te GPU oluşturma modu kullanılırken aşağıdaki sınırlamalar vardır:

  • GPU bir nesne oluşturamazsa, görüntülenmez. İşlemci oluşturmaya yönelik bir dezavantaj yoktur.

  • Şu karışım modları desteklenmez: katman, alfa, silme, kaplama, sert ışık, açıklaştırma ve koyulaştırma.

  • Filtreler desteklenmez.

  • PixelBender desteklenmez.

  • Birçok GPU birimi, maksimum 1024x1024 doku boyutuna sahiptir. ActionScript'te bu, tüm dönüştürmelerden sonra bir görüntüleme nesnesinin maksimum son oluşturulmuş boyutuna çevrilir.

  • Adobe, video oynatan AIR uygulamalarında GPU oluşturma modunun kullanılmasını önermez.

  • GPU oluşturma modunda, sanal klavye açıldığında metin alanları her zaman görünür bir konuma taşınmaz. Kullanıcı metin girerken metin alanınızın görünür olmasını sağlamak için aşağıdakilerden birini yapın. Ekranın üst yarısına metin alanını yerleştirin veya odak geldiğinde ekranın üst yarısından metin alanını taşıyın.

  • GPU oluşturma modu, modun güvenilir şekilde çalışmadığı bazı aygıtlar için devre dışıdır. En son bilgiler için AIR geliştiricisinin yayın notlarına bakın.

GPU oluşturma modu en iyi uygulamaları

Aşağıdaki yönergeler, GPU oluşturmayı hızlandırabilir:

  • Sahne alanında görünen öğelerin sayısını sınırlandırın. Her öğenin görüntülenmesi ve etrafındaki diğer öğelerle birleştirilmesi biraz zaman alır. Bir görüntüleme nesnesini artık görüntülemek istemediğinizde, visible özelliğini false olarak ayarlayın. Sahne dışına sürüklemeyin, başka bir nesnenin arkasına gizlemeyin veya alpha özelliğini 0'a ayarlamayın. Görüntüleme nesnesi artık gerekmiyorsa, görüntüleme nesnesini removeChild() öğesiyle sahne alanından kaldırın.

  • Nesneleri oluşturmak ve imha etmek yerine yeniden kullanın.

  • Bitmap'leri 2 n x 2 m bite yakın fakat bundan az olmayacak boyutlarda yapın. Boyutlar 2'nin tam kuvvetleri olmak zorunda değilse de, daha büyük olmamak koşuluyla 2'nin kuvvetlerine yakın olmalıdır. Örneğin, 31x15 piksellik bir görüntü 33x17 piksellik bir görüntüden daha hızlı oluşturulur. (31 ve 15, 2'nin kuvvetleri 32 ve 16'dan daha küçüktür.)

  • Mümkünse, Graphic.beginBitmapFill() yöntemini kullanırken repeat parametresini false olarak ayarlayın.

  • Fazladan çizim yapmayın. Arka plan olarak arka plan rengini kullanın. Büyük şekilleri birbirinin üstüne katmanlandırmayın. Çizilen her piksel yük oluşturur.

  • Uzun ve ince çivileri, birbirini kesen kenarları veya kenarlarında çok sayıda ince detayı bulunan şekillerden kaçının. Bu şekillerin görüntülenmesi düz kenarlı ekran nesnelerinden daha uzun sürer.

  • Görüntüleme nesnelerinin boyutunu sınırlandırın.

  • Grafikleri sık sık güncellenmeyen görüntüleme nesneleri için cacheAsBitMap ve cacheAsBitmapMatrix öğelerini etkinleştirin.

  • Grafik oluşturmak için ActionScript çizim API'sini (Grafik sınıfı) kullanmamaya çalışın. Mümkünse, bu nesneleri geliştirme zamanında statik olarak oluşturun.

  • Bitmap varlıklarını içe aktarmadan önce son boyutuna ölçeklendirin.

Mobil AIR 2.0.3'te GPU oluşturma modu

GPU oluşturma, Packager for iPhone ile oluşturulan mobil AIR uygulamalarında daha kısıtlayıcıdır. GPU yalnızca cacheAsBitmap özelliği düzgün şekilde ayarlanmış olan bitmap'ler, katı şekiller ve görüntüleme nesneleri için etkilidir. Ayrıca cacheAsBitmap ve cacheAsBitmapMatrix öğeleri ayarlanmış olan nesneler için GPU, döndürülen veya ölçeklendirilen nesneler oluşturabilir. GPU diğer görüntüleme nesneleri için kademeli kullanılır ve bu genellikle düşük oluşturma performansıyla sonuçlanır.