Dokumen ini menjelaskan penyetelan kinerja yang dapat Anda lakukan untuk mendapatkan hasil maksimal dari perangkat keras Anda.
Properti OpenGLRenderer (libhwai)
Dokumen ini mencantumkan semua properti yang dapat Anda gunakan untuk mengontrol pipeline rendering akselerasi perangkat keras 2D Android. Setel properti ini di device.mk
sebagai PRODUCT_PROPERTY_OVERRIDES
.
Properti untuk semua versi Android
Properti | Jenis | Nilai Default | Keterangan |
---|---|---|---|
ro.zygote.disable_gl_preload | boolean | false | Digunakan untuk mengaktifkan/menonaktifkan pramuat driver EGL/GL di Zygote saat boot. Ketika properti ini disetel ke false, Zygote akan memuat driver GL dengan menjalankan eglGetDisplay(EGL_DEFAULT_DISPLAY). Tujuannya adalah untuk memuat kode perpustakaan dinamis di Zygote untuk dibagikan dengan semua proses lainnya. Jika driver tidak mendukung untuk dibagikan, setel properti ini ke true. |
Properti untuk Android 8.0 dan lebih rendah
Properti | Jenis | Nilai Default | Keterangan |
---|---|---|---|
ro.hwui.disable_scissor_opt | boolean | false | Digunakan untuk mengaktifkan atau menonaktifkan pengoptimalan gunting. Nilai yang diterima adalah benar dan salah. Saat pengoptimalan gunting diaktifkan, OpenGLRenderer mencoba meminimalkan penggunaan gunting dengan mengaktifkan dan menonaktifkan uji gunting GL secara selektif. Saat pengoptimalan dinonaktifkan, OpenGLRenderer membuat uji gunting GL tetap aktif dan mengubah kotak gunting sesuai kebutuhan. Beberapa GPU (misalnya, SGX 540) berkinerja lebih baik saat mengubah scissor rect lebih sering daripada sering mengaktifkan atau menonaktifkan tes scissor. |
ro.hwui.texture_cache_size | float | 24 | Menentukan ukuran, dalam megabita, dari cache tekstur per proses. Sebaiknya gunakan cache yang cukup besar untuk menampung beberapa layar dengan tekstur 32-bit (misalnya, pada layar 1280x800, buffer layar penuh menggunakan sekitar 4 MB sehingga cache setidaknya harus berukuran 20 MB.) |
ro.hwui.layer_cache_size | float | 16 | Mendefinisikan ukuran, dalam megabyte, dari cache lapisan per proses. Sebaiknya gunakan cache yang cukup besar untuk menampung 4 kali layar dalam 32 bit. Misalnya, pada layar 1280x800, buffer layar penuh menggunakan sekitar 4 MB, jadi cache harus setidaknya 16 MB. |
ro.hwui.gradient_cache_size | 0.5 | float | Menentukan ukuran, dalam megabita, dari cache gradien per proses. Gradien tunggal umumnya menempati antara 1 dan 4 KB memori. Disarankan untuk menggunakan cache yang cukup besar untuk menampung setidaknya dua belas gradien. |
ro.hwui.patch_cache_size | integer | 128 | Mendefinisikan ukuran, dalam kilobyte, dari cache 9-patch, per proses. Cache ini hanya menampung data vertex dan karenanya dapat disimpan kecil. Setiap simpul terbuat dari 4 float, atau 16 byte. |
ro.hwui.path_cache_size | float | 4 | Menentukan ukuran, dalam megabita, dari cache per jalur proses. Sebaiknya gunakan cache yang cukup besar untuk menampung setidaknya satu layar dengan tekstur 32-bit. Misalnya, pada layar 1280x800, buffer layar penuh menggunakan sekitar 4 MB, jadi cache harus setidaknya 4 MB. |
ro.hwui.shape_cache_size | float | 1 | Mendefinisikan ukuran, dalam megabyte, dari per proses bentuk cache. Nilai ini digunakan oleh beberapa cache seperti lingkaran dan persegi panjang bulat. Sebaiknya gunakan cache yang cukup besar untuk menampung setidaknya satu layar 8-bit. Misalnya, pada layar 1280x800, buffer layar penuh menggunakan sekitar 1 MB, jadi cache harus setidaknya 1 MB. |
ro.hwui.drop_shadow_cache_size | float | 2 | Menentukan ukuran, dalam megabita, dari cache drop shadows teks per proses. Sebaiknya gunakan cache yang cukup besar untuk menampung dua layar dengan tekstur 8-bit. Misalnya, pada layar 1280x800, buffer layar penuh menggunakan sekitar 1 MB, jadi cache setidaknya harus 2 MB. |
ro.hwui.r_buffer_cache_size | float | 2 | Menentukan ukuran, dalam megabita, cache buffer render per proses. Disarankan untuk menggunakan cache yang cukup besar untuk menampung dua kali layar dalam 8 bit. Misalnya, pada layar 1280x800, buffer layar penuh menggunakan sekitar 1 MB sehingga cache harus setidaknya 2 MB. Cache bisa lebih kecil jika perangkat mendukung buffer stensil 4 bit atau 1 bit. |
ro.hwui.texture_cache_flush_rate | float | 0.6 | Menentukan persentase cache tekstur yang akan disimpan setelah memory flush. Penghapusan memori dipicu ketika sistem perlu mendapatkan kembali memori di semua aplikasi. Kami merekomendasikan untuk melepaskan sekitar 50% cache dalam situasi seperti itu. |
ro.hwui.text_small_cache_width | integer | 1024 | Menentukan lebar dalam piksel dari cache font default. Batas atas tergantung pada seberapa cepat GPU dapat mengunggah tekstur. Sebaiknya gunakan setidaknya 1024 piksel tetapi paling banyak 2048 piksel. Anda juga harus menggunakan kekuatan dua nilai. |
ro.hwui.text_small_cache_height | integer | 256 | Mendefinisikan tinggi dalam piksel dari cache font default. Batas atas tergantung pada seberapa cepat GPU dapat mengunggah tekstur. Sebaiknya gunakan setidaknya 256 piksel tetapi paling banyak 1024 piksel. |
ro.hwui.text_large_cache_width | integer | 2048 | Menentukan lebar dalam piksel dari cache font besar. Cache ini digunakan untuk mesin terbang yang terlalu besar untuk muat di cache font default. Batas atas tergantung pada seberapa cepat GPU dapat mengunggah tekstur. Kami merekomendasikan menggunakan setidaknya 2048 piksel tetapi paling banyak 4096 piksel. Anda juga harus menggunakan kekuatan dua nilai. |
ro.hwui.text_large_cache_height | integer | 512 | Mendefinisikan tinggi dalam piksel dari cache font besar. Tembolok font besar digunakan untuk mesin terbang yang terlalu besar untuk muat dalam cache font default. Batas atas tergantung pada seberapa cepat GPU dapat mengunggah tekstur. Sebaiknya gunakan minimal 512 piksel tetapi maksimal 2048 piksel. Anda juga harus menggunakan kekuatan dua nilai. |
hwui.text_gamma_correction | string | lookup | Memilih teknik koreksi gamma teks. Ada empat kemungkinan pilihan:
lookup default, yang menawarkan kompromi yang baik dalam hal kualitas, kecepatan, dan penggunaan memori. |
hwui.text_gamma | float | 1.4 | Menentukan nilai gamma yang digunakan untuk koreksi gamma teks. Nilai ini dapat disesuaikan berdasarkan tampilan yang digunakan oleh perangkat. |
hwui.text_gamma.black_threshold | integer | 64 | Menentukan ambang luminansi di bawah mana koreksi gamma hitam diterapkan. Nilai harus ditentukan dalam kisaran 0..255. |
hwui.text_gamma.white_threshold | integer | 192 | Menentukan ambang luminansi di mana koreksi gamma putih diterapkan. Nilai harus ditentukan dalam kisaran 0..255. |
hwui.use_gpu_pixel_buffers | boolean | true | Digunakan untuk mengaktifkan atau menonaktifkan penggunaan PBO pada perangkat keras OpenGL ES 3.0. PBO digunakan oleh perender untuk melakukan unggahan tekstur asinkron, terutama untuk cache font. Properti ini harus selalu tetap diaktifkan tetapi dapat dinonaktifkan selama pengaktifan atau pengembangan jika penggunaan PBO menyebabkan kerusakan atau kinerja yang buruk. Inilah sebabnya mengapa properti ini tidak hanya-baca. |