Bu belgede, donanımınızdan en iyi şekilde yararlanmak için yapabileceğiniz performans ayarlamaları açıklanmaktadır.
OpenGLRenderer (libhwui) özellikleri
Bu dokümanda, Android'in 2D donanım hızlandırmalı oluşturma ardışık düzenini kontrol etmek için kullanabileceğiniz tüm özellikler listelenmiştir. Bu özellikleri device.mk
içinde PRODUCT_PROPERTY_OVERRIDES
olarak ayarlayın.
Tüm Android sürümleri için özellikler
Özellik | Tür | Varsayılan Değer | Açıklama |
---|---|---|---|
ro.zygote.disable_gl_preload |
boolean |
false |
Zygote'ta önyükleme sırasında EGL/GL sürücülerinin önyüklemesini etkinleştirmek/devre dışı bırakmak için kullanılır. Bu mülk yanlış olarak ayarlandığında Zygote, eglGetDisplay(EGL_DEFAULT_DISPLAY) çağrısını yaparak GL sürücülerini önceden yükler. Amaç, dinamik kitaplık kodunu Zygote'a yükleyip diğer tüm işlemlerle paylaşmaktır. Bir sürücü paylaşmayı desteklemiyorsa bu özelliği true olarak ayarlayın. |
Android 8.0 ve önceki sürümler için özellikler
Özellik | Tür | Varsayılan Değer | Açıklama |
---|---|---|---|
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 true ve false'tur. Makas optimizasyonu etkinleştirildiğinde OpenGLRenderer, GL makas testini seçerek etkinleştirip devre dışı bırakarak makas kullanımını en aza indirmeye çalışır. Optimizasyon devre dışı bırakıldığında OpenGLRenderer, GL makas testini etkin durumda tutar ve makas dikdörtgenini gerektiği gibi değiştirir. Bazı GPU'lar (örneğin, SGX 540), makas testini sık sık etkinleştirmekten veya devre dışı bırakmaktan daha sık makas dikdörtgenini değiştirdiğinde daha iyi performans gösterir. |
ro.hwui.texture_cache_size |
float |
24 |
İşlem başına doku önbelleği boyutunu megabayt cinsinden tanımlar. 32 bit dokuların birkaç ekranını tutacak kadar büyük bir önbellek kullanmanızı öneririz (örneğin, 1280x800 ekranda tam ekran arabellek yaklaşık 4 MB kullandığından önbellek en az 20 MB olmalıdır). |
ro.hwui.layer_cache_size |
float |
16 |
İşlem başına katman önbelleği boyutunu megabayt cinsinden tanımlar. 32 bitte ekranın 4 katı kadar veri tutabilecek kadar büyük bir önbellek kullanmanızı öneririz. Örneğin, 1280x800 ekranda tam ekran arabellek yaklaşık 4 MB kullandığından önbellek en az 16 MB olmalıdır. |
ro.hwui.gradient_cache_size |
0.5 |
float |
İşlem başına gradyan önbelleği boyutunu megabayt cinsinden tanımlar. Tek bir gradyan genellikle 1 ila 4 KB hafıza kaplar. En az on iki gradyan tutacak kadar büyük bir önbelleğe sahip olmanız önerilir. |
ro.hwui.patch_cache_size |
integer |
128 |
İşlem başına 9 yama önbelleği boyutunu kilobayt cinsinden 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ği boyutunu megabayt cinsinden tanımlar. En az bir ekranlık 32 bit doku tutacak kadar büyük bir önbelleğe sahip olmanızı öneririz. Örneğin, 1280x800 ekranda tam ekran arabellek yaklaşık 4 MB kullandığından önbellek en az 4 MB olmalıdır. |
ro.hwui.shape_cache_size |
float |
1 |
İşlem başına şekil önbellekleri için megabayt cinsinden boyutu tanımlar. Bu değer, daireler ve yuvarlatılmış dikdörtgenler gibi çeşitli önbellekler tarafından kullanılır. En az bir 8 bit ekranı barındıracak kadar büyük bir önbellek kullanmanızı öneririz. Örneğin, 1280x800 ekranda tam ekran arabellek yaklaşık 1 MB kullandığından önbellek en az 1 MB olmalıdır. |
ro.hwui.drop_shadow_cache_size |
float |
2 |
Metin gölgesi önbelleği boyutunu (megabayt cinsinden) işlem başına tanımlar. 8 bit dokuların iki ekranını tutacak kadar büyük bir önbellek kullanmanızı öneririz. Örneğin, 1280x800 ekranda tam ekran arabellek yaklaşık 1 MB kullandığından önbellek en az 2 MB olmalıdır. |
ro.hwui.r_buffer_cache_size |
float |
2 |
İşlem başına oluşturma arabelleklerinin önbelleğini megabayt cinsinden tanımlar. 8 bit olarak ekranın iki katı kadar veri tutabilecek büyüklükte bir önbellek kullanılması önerilir. Örneğin, 1280x800 ekranda tam ekran arabellek yaklaşık 1 MB kullandığından önbellek en az 2 MB olmalıdır. Cihaz 4 bit veya 1 bit şablon arabelleklerini destekliyorsa önbellek daha küçük olabilir. |
ro.hwui.texture_cache_flush_rate |
float |
0.6 |
Bellek temizlendikten sonra tutulacak doku önbelleği yüzdesini tanımlar. Bellek temizlemeleri, sistemin tüm uygulamalarda bellek geri alması gerektiğinde tetiklenir. Bu tür durumlarda önbelleğin yaklaşık% 50'sini temizlemenizi öneririz. |
ro.hwui.text_small_cache_width |
integer |
1024 |
Varsayılan yazı tipi önbelleğini piksel cinsinden genişliğini tanımlar. Üst sınır, GPU'nun dokuları ne kadar hızlı yükleyebileceğine bağlıdır. En az 1024 piksel, en fazla 2048 piksel kullanmanızı öneririz. Ayrıca, ikinin kuvveti değerini de kullanmanız gerekir. |
ro.hwui.text_small_cache_height |
integer |
256 |
Varsayılan yazı tipi önbellüğünün piksel cinsinden yüksekliğini tanımlar. Üst sınır, GPU'nun dokuları ne kadar hızlı yükleyebileceğ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ğini piksel cinsinden genişliğini tanımlar. Bu önbellek, varsayılan yazı tipi önbelleğine sığmayacak kadar büyük olan karakterler için kullanılır. Üst sınır, GPU'nun dokuları ne kadar hızlı yükleyebileceğine bağlıdır. En az 2048 piksel, en fazla 4096 piksel kullanılması önerilir. Ayrıca, ikinin kuvveti değerini de kullanmanız gerekir. |
ro.hwui.text_large_cache_height |
integer |
512 |
Büyük yazı tipi önbelleğini piksel cinsinden yüksekliğini tanımlar. Büyük yazı tipi önbelleği, varsayılan yazı tipi önbelleğine sığmayacak kadar büyük olan karakterler için kullanılır. Üst sınır, GPU'nun dokuları ne kadar hızlı yükleyebileceğine bağlıdır. En az 512 piksel, en fazla 2048 piksel kullanmanızı öneririz. Ayrıca, ikinin kuvveti değerini de kullanmanız gerekir. |
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 tarafından kullanılan ekrana göre ayarlanabilir. |
hwui.text_gamma.black_threshold |
integer |
64 |
Siyah gama düzeltmesinin uygulandığı parlaklık eşiğini tanımlar. Değer 0 ila 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 ila 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, özellikle yazı tipi önbelleği için asenkron doku yüklemeleri gerçekleştirmek üzere oluşturucu tarafından kullanılır. Bu özellik her zaman etkin kalmalıdır ancak PBO'ların kullanılması bozulmalara veya kötü performansa neden olursa ilk çalıştırma veya geliştirme sırasında devre dışı bırakılabilir. Bu nedenle mülk salt okunur değildir. |