Bu belgede donanımınızdan en iyi şekilde yararlanmak için yapabileceğiniz performans ayarlamaları açıklanmaktadır.
OpenGLRenderer (libhwui) özellikleri
Bu belge, Android'in 2B donanım hızlandırmalı işleme hattını kontrol etmek için kullanabileceğiniz tüm özellikleri listeler. device.mk
dosyasında bu özellikleri PRODUCT_PROPERTY_OVERRIDES
olarak ayarlayın.
Tüm Android sürümleri için özellikler
Mülk | Tip | Varsayılan değer | Tanım |
---|---|---|---|
ro.zygote.disable_gl_preload | boolean | false | Önyükleme sırasında Zygote'ta EGL/GL sürücülerinin önceden yüklenmesini etkinleştirmek/devre dışı bırakmak için kullanılır. Bu özellik false olarak ayarlandığında Zygote, eglGetDisplay(EGL_DEFAULT_DISPLAY)'i çağırarak GL sürücülerini önceden yükleyecektir. Amaç, dinamik kütüphane kodunu Zygote'a yükleyerek onu diğer tüm süreçlerle paylaşmaktır. Sürücü paylaşılmayı desteklemiyorsa bu özelliği true olarak ayarlayın. |
Android 8.0 ve önceki sürümlere yönelik özellikler
Mülk | Tip | Varsayılan değer | Tanım |
---|---|---|---|
ro.hwui.disable_scissor_opt | boolean | false | Makas optimizasyonunu etkinleştirmek veya devre dışı bırakmak için kullanılır. Kabul edilen değerler doğru ve yanlıştır. Makas optimizasyonu etkinleştirildiğinde OpenGLRenderer, GL makas testini seçici olarak etkinleştirip devre dışı bırakarak makaslama kullanımını en aza indirmeye çalışır. Optimizasyon devre dışı bırakıldığında OpenGLRenderer, GL makas testini etkin tutar ve makasın doğrultusunu gerektiği gibi değiştirir. Bazı GPU'lar (örneğin, SGX 540), makas testini sık sık etkinleştirmek veya devre dışı bırakmaktan ziyade, makas doğrultusunu daha sık değiştirirken daha iyi performans gösterir. |
ro.hwui.texture_cache_size | float | 24 | İşlem başına doku önbelleğinin megabayt cinsinden boyutunu tanımlar. 32 bit doku değerinde birkaç ekranı tutacak kadar büyük bir önbellek kullanmanızı öneririz (örneğin, 1280x800 ekranda, tam ekran arabelleği yaklaşık 4 MB kullanır; bu nedenle önbellek en az 20 MB olmalıdır.) |
ro.hwui.layer_cache_size | float | 16 | İşlem katmanları önbelleğinin megabayt cinsinden boyutunu tanımlar. 32 bit olarak ekranın 4 katını tutacak kadar büyük bir önbellek kullanmanızı öneririz. Örneğin, 1280x800'lük bir ekranda tam ekran arabelleği yaklaşık 4 MB kullanır; dolayısıyla önbellek en az 16 MB olmalıdır. |
ro.hwui.gradient_cache_size | 0.5 | float | İşlem başına degrade önbelleğinin megabayt cinsinden boyutunu tanımlar. Tek bir degrade genellikle 1 ila 4 KB arasında bellek kaplar. En az on iki degradeyi tutacak kadar büyük bir önbellek kullanılması önerilir. |
ro.hwui.patch_cache_size | integer | 128 | İşlem başına 9 yama önbelleğinin kilobayt cinsinden boyutunu tanımlar. Bu önbellek yalnızca köşe verilerini tutar ve bu nedenle küçük tutulabilir. Her köşe 4 kayan nokta veya 16 bayttan oluşur. |
ro.hwui.path_cache_size | float | 4 | İşlem başına yol önbelleğinin megabayt cinsinden boyutunu tanımlar. En az bir ekran değerinde 32 bit dokuyu tutacak kadar büyük bir önbellek kullanmanızı öneririz. Örneğin, 1280x800'lük bir ekranda tam ekran arabelleği yaklaşık 4 MB kullanır; dolayısıyla önbellek en az 4 MB olmalıdır. |
ro.hwui.shape_cache_size | float | 1 | İşlem başına şekil önbelleklerinin megabayt cinsinden boyutunu tanımlar. Bu değer, daireler ve yuvarlak köşeli dikdörtgenler gibi çeşitli önbellekler tarafından kullanılır. En az bir adet 8 bitlik ekranı tutacak kadar büyük bir önbellek kullanmanızı öneririz. Örneğin, 1280x800'lük bir ekranda tam ekran arabelleği yaklaşık 1 MB kullanır; dolayısıyla önbellek en az 1 MB olmalıdır. |
ro.hwui.drop_shadow_cache_size | float | 2 | İşlem başına metin alt gölge önbelleğinin megabayt cinsinden boyutunu tanımlar. 8 bit doku değerindeki iki ekranı tutacak kadar büyük bir önbellek kullanmanızı öneririz. Örneğin, 1280x800'lük bir ekranda, tam ekran arabelleği yaklaşık 1 MB kullanır; dolayısıyla önbellek en az 2 MB olmalıdır. |
ro.hwui.r_buffer_cache_size | float | 2 | İşlem başına işleme arabellekleri önbelleğinin megabayt cinsinden boyutunu tanımlar. 8 bitlik ekranın iki katını tutacak kadar büyük bir önbellek kullanılması tavsiye edilir. Örneğin, 1280x800'lük bir ekranda, tam ekran arabelleği yaklaşık 1 MB kullanır, dolayısıyla önbellek en az 2 MB olmalıdır. Aygıt 4 bit veya 1 bit şablon arabelleklerini destekliyorsa önbellek daha küçük olabilir. |
ro.hwui.texture_cache_flush_rate | float | 0.6 | Bellek temizleme işleminden sonra tutulacak doku önbelleğinin yüzdesini tanımlar. Sistemin tüm uygulamalarda belleği geri kazanması gerektiğinde bellek temizleme işlemleri tetiklenir. Bu gibi durumlarda önbelleğin yaklaşık %50'sini serbest bırakmanızı öneririz. |
ro.hwui.text_small_cache_width | integer | 1024 | Varsayılan yazı tipi önbelleğinin genişliğini piksel cinsinden tanımlar. Üst sınır, GPU'nun dokuları ne kadar hızlı yükleyebildiğine bağlıdır. En az 1024 piksel, en fazla 2048 piksel kullanmanızı öneririz. Ayrıca iki değerin gücünü kullanmalısınız. |
ro.hwui.text_small_cache_height | integer | 256 | Varsayılan yazı tipi önbelleğinin yüksekliğini piksel cinsinden tanımlar. Üst sınır, GPU'nun dokuları ne kadar hızlı yükleyebildiğine bağlıdır. En az 256 piksel, en fazla 1024 piksel kullanmanızı öneririz. |
ro.hwui.text_large_cache_width | integer | 2048 | Büyük yazı tipi önbelleğinin genişliğini piksel cinsinden tanımlar. Bu önbellek, varsayılan yazı tipi önbelleğine sığmayacak kadar büyük olan glifler için kullanılır. Üst sınır, GPU'nun dokuları ne kadar hızlı yükleyebildiğine bağlıdır. En az 2048 piksel, en fazla 4096 piksel kullanmanızı öneririz. Ayrıca iki değerin gücünü kullanmalısınız. |
ro.hwui.text_large_cache_height | integer | 512 | Büyük yazı tipi önbelleğinin yüksekliğini piksel cinsinden tanımlar. Büyük yazı tipi önbelleği, varsayılan yazı tipi önbelleğine sığmayacak kadar büyük olan glifler için kullanılır. Üst sınır, GPU'nun dokuları ne kadar hızlı yükleyebildiğine bağlıdır. En az 512 piksel, en fazla 2048 piksel kullanmanızı öneririz. Ayrıca iki değerin gücünü kullanmalısınız. |
hwui.text_gamma_correction | string | lookup | Metin gama düzeltme tekniğini seçer. Dört olası seçenek vardır:
lookup tekniğini kullanmanızı öneririz. |
hwui.text_gamma | float | 1.4 | Metin gama düzeltmesi için kullanılan gama değerini tanımlar. Bu değer cihazın kullandığı ekrana göre ayarlanabilir. |
hwui.text_gamma.black_threshold | integer | 64 | Altında siyah gama düzeltmesinin uygulandığı parlaklık eşiğini tanımlar. Değer 0..255 aralığında tanımlanmalıdır. |
hwui.text_gamma.white_threshold | integer | 192 | Beyaz gama düzeltmesinin uygulandığı parlaklık eşiğini tanımlar. Değer 0..255 aralığında tanımlanmalıdır. |
hwui.use_gpu_pixel_buffers | boolean | true | OpenGL ES 3.0 donanımında PBO'ların kullanımını etkinleştirmek veya devre dışı bırakmak için kullanılır. PBO'lar, oluşturucu tarafından özellikle yazı tipi önbelleği için eşzamansız doku yüklemeleri gerçekleştirmek için kullanılır. Bu özellik her zaman etkin kalmalıdır ancak PBO'ların kullanımının bozulmalara veya kötü performansa neden olması durumunda, getirme veya geliştirme sırasında devre dışı bırakılabilir. Bu nedenle özellik salt okunur değildir. |