Dokumen ini menjelaskan penyesuaian kinerja yang dapat Anda lakukan untuk mendapatkan hasil maksimal dari perangkat keras Anda.
Properti OpenGLRenderer (libhwui).
Dokumen ini mencantumkan semua properti yang dapat Anda gunakan untuk mengontrol pipeline rendering akselerasi perangkat keras 2D Android. Tetapkan properti ini di device.mk
sebagai PRODUCT_PROPERTY_OVERRIDES
.
Properti untuk semua versi Android
Properti | Jenis | Nilai Bawaan | Keterangan |
---|---|---|---|
ro.zygote.disable_gl_preload | boolean | false | Digunakan untuk mengaktifkan/menonaktifkan pramuat driver EGL/GL di Zygote pada saat boot. Ketika properti ini disetel ke false, Zygote akan memuat driver GL terlebih dahulu dengan memanggil eglGetDisplay(EGL_DEFAULT_DISPLAY). Tujuannya adalah memuat kode perpustakaan dinamis di Zygote untuk dibagikan dengan semua proses lainnya. Jika driver tidak mendukung pembagian, setel properti ini ke true. |
Properti untuk Android 8.0 dan lebih rendah
Properti | Jenis | Nilai Bawaan | Keterangan |
---|---|---|---|
ro.hwui.disable_scissor_opt | boolean | false | Digunakan untuk mengaktifkan atau menonaktifkan optimasi gunting. Nilai yang diterima adalah benar dan salah. Saat pengoptimalan gunting diaktifkan, OpenGLRenderer berupaya meminimalkan penggunaan gunting dengan mengaktifkan dan menonaktifkan pengujian gunting GL secara selektif. Ketika pengoptimalan dinonaktifkan, OpenGLRenderer tetap mengaktifkan pengujian gunting GL dan mengubah persegi gunting sesuai kebutuhan. Beberapa GPU (misalnya, SGX 540) berkinerja lebih baik saat lebih sering mengganti kotak gunting daripada sering mengaktifkan atau menonaktifkan pengujian gunting. |
ro.hwui.texture_cache_size | float | 24 | Mendefinisikan ukuran, dalam megabita, cache tekstur per proses. Kami merekomendasikan penggunaan 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 harus minimal 20 MB.) |
ro.hwui.layer_cache_size | float | 16 | Mendefinisikan ukuran, dalam megabyte, cache per lapisan proses. Kami merekomendasikan penggunaan cache yang cukup besar untuk menampung 4 kali layar dalam 32 bit. Misalnya, pada tampilan 1280x800, buffer layar penuh menggunakan sekitar 4 MB, sehingga cache harus minimal 16 MB. |
ro.hwui.gradient_cache_size | 0.5 | float | Mendefinisikan ukuran, dalam megabita, cache gradien per proses. Gradien tunggal umumnya menempati memori antara 1 dan 4 KB. 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 menyimpan data vertex dan oleh karena itu dapat dibuat tetap kecil. Setiap simpul terbuat dari 4 float, atau 16 byte. |
ro.hwui.path_cache_size | float | 4 | Mendefinisikan ukuran, dalam megabita, cache jalur per proses. Kami merekomendasikan penggunaan cache yang cukup besar untuk menampung setidaknya satu layar dengan tekstur 32-bit. Misalnya, pada tampilan 1280x800, buffer layar penuh menggunakan sekitar 4 MB, sehingga cache harus minimal 4 MB. |
ro.hwui.shape_cache_size | float | 1 | Mendefinisikan ukuran, dalam megabita, cache bentuk per proses. Nilai ini digunakan oleh beberapa cache seperti lingkaran dan persegi panjang bulat. Kami merekomendasikan penggunaan cache yang cukup besar untuk menampung setidaknya satu layar 8-bit. Misalnya, pada tampilan 1280x800, buffer layar penuh menggunakan sekitar 1 MB, sehingga cache harus minimal 1 MB. |
ro.hwui.drop_shadow_cache_size | float | 2 | Mendefinisikan ukuran, dalam megabita, cache bayangan jatuh teks per proses. Kami merekomendasikan penggunaan cache yang cukup besar untuk menampung dua layar dengan tekstur 8-bit. Misalnya, pada tampilan 1280x800, buffer layar penuh menggunakan sekitar 1 MB, sehingga cache harus minimal 2 MB. |
ro.hwui.r_buffer_cache_size | float | 2 | Mendefinisikan 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 tampilan 1280x800, buffer layar penuh menggunakan sekitar 1 MB sehingga cache harus minimal 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 pengosongan memori. Pembilasan memori dipicu ketika sistem perlu mendapatkan kembali memori di semua aplikasi. Kami menyarankan untuk melepaskan sekitar 50% cache dalam situasi seperti ini. |
ro.hwui.text_small_cache_width | integer | 1024 | Mendefinisikan lebar dalam piksel cache font default. Batas atas bergantung pada seberapa cepat GPU dapat mengunggah tekstur. Kami merekomendasikan penggunaan minimal 1024 piksel tetapi maksimal 2048 piksel. Anda juga harus menggunakan kekuatan dua nilai. |
ro.hwui.text_small_cache_height | integer | 256 | Mendefinisikan tinggi dalam piksel cache font default. Batas atas bergantung pada seberapa cepat GPU dapat mengunggah tekstur. Kami merekomendasikan penggunaan minimal 256 piksel tetapi maksimal 1024 piksel. |
ro.hwui.text_large_cache_width | integer | 2048 | Mendefinisikan lebar dalam piksel dari cache font besar. Cache ini digunakan untuk mesin terbang yang terlalu besar untuk muat dalam cache font default. Batas atas bergantung pada seberapa cepat GPU dapat mengunggah tekstur. Kami merekomendasikan penggunaan 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. Cache font yang besar digunakan untuk mesin terbang yang terlalu besar untuk muat dalam cache font default. Batas atas bergantung pada seberapa cepat GPU dapat mengunggah tekstur. Kami merekomendasikan penggunaan 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 pilihan yang mungkin:
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 diatur berdasarkan tampilan yang digunakan perangkat. |
hwui.text_gamma.black_threshold | integer | 64 | Menentukan ambang luminansi di bawah mana koreksi gamma hitam diterapkan. Nilainya harus ditentukan dalam kisaran 0..255. |
hwui.text_gamma.white_threshold | integer | 192 | Menentukan ambang luminansi yang di atasnya koreksi gamma putih akan diterapkan. Nilainya 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 pengunggahan tekstur asinkron, terutama untuk cache font. Properti ini harus selalu tetap diaktifkan tetapi dapat dinonaktifkan selama pengembangan atau pengembangan jika penggunaan PBO menyebabkan kerusakan atau kinerja buruk. Inilah sebabnya mengapa properti ini tidak hanya-baca. |