Bu belgede, donanım performansını optimize etmek için performans ayarlama işlemi açıklanmaktadır.
OpenGLRenderer (libhwui) özellikleri
Bu belgede, Android'in 2D donanım hızlandırmalı oluşturma işlem hattını kontrol etmeye yönelik özellikler açıklanmaktadır. 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 |
Başlangıçta Zygote'ta EGL/GL sürücülerinin önceden yüklenmesini etkinleştirir veya devre dışı bırakır.
Bu özellik false olduğunda Zygote, eglGetDisplay(EGL_DEFAULT_DISPLAY) çağırarak GL sürücülerini önceden yükler. Bu işlem, dinamik kitaplık kodunu Zygote'a yükleyerek diğer tüm işlemlerle paylaşır. Sürücü paylaşımı 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ştirir veya devre dışı bırakır. Kabul edilen değerler Devre dışı bırakıldığında OpenGLRenderer, GL makas testini etkin tutar ve makas dikdörtgenini gerektiği gibi değiştirir. Bazı GPU'lar (ör. SGX 540), makas dikdörtgeni sık sık değiştirdiğinizde makas testini sık sık etkinleştirmek veya devre dışı bırakmaktan daha iyi performans gösterir. |
ro.hwui.texture_cache_size |
float |
24 |
İşlem başına doku önbelleğinin boyutunu (megabayt cinsinden) tanımlar. 32 bit dokulara sahip birkaç ekranı tutacak kadar büyük bir önbellek kullanmanızı öneririz. Örneğin, 1280x800 çözünürlüklü bir ekranda tam ekran arabellek yaklaşık 4 MB kullanır. Bu nedenle, önbellek en az 20 MB olmalıdır. |
ro.hwui.layer_cache_size |
float |
16 |
İşlem başına katman önbelleğinin boyutunu (megabayt cinsinden) tanımlar. 32 bit'te ekranın dört katını tutacak kadar büyük bir önbellek kullanmanızı öneririz. Örneğin, 1280x800 çözünürlüklü bir ekranda tam ekran arabellek yaklaşık 4 MB kullanır. Bu nedenle, önbellek en az 16 MB olmalıdır. |
ro.hwui.gradient_cache_size |
float |
0.5 |
İşlem başına gradyan önbelleğinin boyutunu (megabayt cinsinden) tanımlar. Tek bir gradyan genellikle 1 KB ile 4 KB arasında bellek alanı kaplar. En az 12 gradyanı tutacak kadar büyük bir önbellek kullanmanızı öneririz. |
ro.hwui.patch_cache_size |
integer |
128 |
İşlem başına 9 yamalı önbelleğin boyutunu kilobayt cinsinden tanımlar. Bu önbellekte yalnızca köşe verileri bulunur. Bu nedenle, önbelleği küçük tutabilirsiniz. Her köşe 4 kayan nokta veya 16 bayttan oluşur. |
ro.hwui.path_cache_size |
float |
4 |
İşlem başına yollar önbelleğinin boyutunu megabayt cinsinden tanımlar. En az bir ekran 32 bit doku içerecek kadar büyük bir önbellek kullanmanızı öneririz. Örneğin, 1280x800 çözünürlüklü bir ekranda tam ekran arabellek yaklaşık 4 MB kullanır. Bu nedenle, önbellek en az 4 MB olmalıdır. |
ro.hwui.shape_cache_size |
float |
1 |
İşlem başına şekil önbelleğinin boyutunu (megabayt cinsinden) tanımlar. Bu değer, daireler ve yuvarlak dikdörtgenler gibi çeşitli önbellekler tarafından kullanılır. En az bir 8 bitlik ekranı tutacak kadar büyük bir önbellek kullanmanızı öneririz. Örneğin, 1280x800 çözünürlüklü bir ekranda tam ekran arabellek yaklaşık 1 MB kullanır. Bu nedenle, önbellek en az 1 MB olmalıdır. |
ro.hwui.drop_shadow_cache_size |
float |
2 |
İşlem başına metin gölge önbelleğinin boyutunu megabayt cinsinden tanımlar. 8 bitlik iki ekran dokuyu barındıracak kadar büyük bir önbellek kullanmanızı öneririz. Örneğin, 1280x800 çözünürlüklü bir ekranda tam ekran arabellek yaklaşık 1 MB kullanır. Bu nedenle, önbellek en az 2 MB olmalıdır. |
ro.hwui.r_buffer_cache_size |
float |
2 |
İşlem başına oluşturma arabellekleri önbelleğinin boyutunu (megabayt cinsinden) tanımlar. 8 bitlik bir ekranın iki katını tutacak kadar büyük bir önbellek kullanmanızı öneririz. Örneğin, 1280x800 çözünürlüklü bir ekranda tam ekran arabellek yaklaşık 1 MB yer kaplar. Bu nedenle, ö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 temizleme işleminden sonra tutulacak doku önbelleğinin yüzdesini tanımlar. Sistem, tüm uygulamalarda belleği geri kazanması gerektiğinde bellek temizleme işlemlerini tetikler. Bu gibi durumlarda önbelleğin yaklaşık% 50'sinin serbest bırakılmasını ö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ükleyebileceğine bağlıdır. En az 1.024 piksel, en fazla 2.048 piksel kullanmanızı öneririz. Ayrıca, 2'nin kuvveti olan bir değer kullanın. |
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ükleyebileceğine bağlıdır. En az 256 piksel, en fazla 1.024 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ığamayacak kadar büyük glifler için de 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 kullanmanızı öneririz. Ayrıca, 2'nin kuvveti olan bir değer kullanın. |
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ığamayacak kadar büyük glifler 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 2.048 piksel kullanmanızı öneririz. Ayrıca, ikinin kuvveti olan bir değer kullanın. |
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ğeri cihazın ekranına göre ayarlayabilirsiniz. |
hwui.text_gamma.black_threshold |
integer |
64 |
Siyah gama düzeltmesinin uygulandığı parlaklık eşiğini tanımlar. Değer 0-255 aralığında olmalıdır. |
hwui.text_gamma.white_threshold |
integer |
192 |
Beyaz gama düzeltmesinin uygulanacağı parlaklık eşiğini tanımlar. Değer 0-255 aralığında olmalıdır. |
hwui.use_gpu_pixel_buffers |
boolean |
true |
OpenGL ES 3.0 donanımında PBO'ların kullanılmasını etkinleştirir veya devre dışı bırakır. Oluşturucu, özellikle yazı tipi önbelleği için doku yüklemelerini eşzamansız olarak gerçekleştirmek üzere PBO'ları kullanır. Bu özellik her zaman etkin kalmalıdır ancak PBO'lar bozulmalara veya düşük performansa neden olursa başlatma ya da geliştirme sırasında devre dışı bırakabilirsiniz. Bu nedenle mülk salt okunur değildir. |