Tài liệu này mô tả cách điều chỉnh hiệu suất để tối ưu hoá hiệu suất phần cứng.
Thuộc tính OpenGLRenderer (libhwui)
Tài liệu này mô tả các thuộc tính để kiểm soát quy trình kết xuất tăng tốc phần cứng 2D của Android. Đặt các thuộc tính này trong device.mk dưới dạng PRODUCT_PROPERTY_OVERRIDES.
Thuộc tính cho tất cả phiên bản Android
| Thuộc tính | Loại | Giá trị mặc định | Mô tả |
|---|---|---|---|
ro.zygote.disable_gl_preload |
boolean |
false |
Bật hoặc tắt tính năng tải trước trình điều khiển EGL/GL trong Zygote khi khởi động.
Khi thuộc tính này là false, Zygote sẽ tải trước trình điều khiển GL bằng cách
gọi eglGetDisplay(EGL_DEFAULT_DISPLAY). Thao tác này sẽ tải mã thư viện động trong Zygote để chia sẻ với tất cả các quy trình khác. Nếu một
trình điều khiển không hỗ trợ việc chia sẻ, hãy đặt thuộc tính này thành true. |
Thuộc tính cho Android 8.0 trở xuống
| Thuộc tính | Loại | Giá trị mặc định | Mô tả |
|---|---|---|---|
ro.hwui.disable_scissor_opt |
boolean |
false |
Bật hoặc tắt tính năng tối ưu hoá kéo cắt. Các giá trị được chấp nhận là
Khi tắt, OpenGLRenderer sẽ giữ cho kiểm thử kéo cắt GL được bật và thay đổi hình chữ nhật kéo cắt khi cần. Một số GPU (ví dụ: SGX 540) hoạt động tốt hơn khi thay đổi hình chữ nhật kéo cắt thường xuyên hơn là bật hoặc tắt kiểm thử kéo cắt thường xuyên. |
ro.hwui.texture_cache_size |
float |
24 |
Xác định kích thước (tính bằng megabyte) của bộ nhớ đệm kết cấu cho mỗi quy trình. Bạn nên sử dụng bộ nhớ đệm đủ lớn để chứa một số màn hình kết cấu 32 bit. Ví dụ: trên màn hình 1280x800, bộ đệm toàn màn hình sử dụng khoảng 4 MB, vì vậy, bộ nhớ đệm phải có kích thước tối thiểu là 20 MB. |
ro.hwui.layer_cache_size |
float |
16 |
Xác định kích thước (tính bằng megabyte) của bộ nhớ đệm lớp cho mỗi quy trình. Bạn nên sử dụng bộ nhớ đệm đủ lớn để chứa gấp 4 lần màn hình ở 32 bit. Ví dụ: trên màn hình 1280x800, bộ đệm toàn màn hình sử dụng khoảng 4 MB, vì vậy, bộ nhớ đệm phải có kích thước tối thiểu là 16 MB. |
ro.hwui.gradient_cache_size |
float |
0.5 |
Xác định kích thước (tính bằng megabyte) của bộ nhớ đệm chuyển màu cho mỗi quy trình. Một chuyển màu thường chiếm từ 1 KB đến 4 KB bộ nhớ. Bạn nên sử dụng bộ nhớ đệm đủ lớn để chứa ít nhất 12 chuyển màu. |
ro.hwui.patch_cache_size |
integer |
128 |
Xác định kích thước (tính bằng kilobyte) của bộ nhớ đệm 9-patches cho mỗi quy trình. Bộ nhớ đệm này chỉ chứa dữ liệu đỉnh, vì vậy, bạn có thể giữ cho bộ nhớ đệm này nhỏ. Mỗi đỉnh bao gồm 4 số thực dấu phẩy động hoặc 16 byte. |
ro.hwui.path_cache_size |
float |
4 |
Xác định kích thước (tính bằng megabyte) của bộ nhớ đệm đường dẫn cho mỗi quy trình. Bạn nên sử dụng bộ nhớ đệm đủ lớn để chứa ít nhất một màn hình kết cấu 32 bit. Ví dụ: trên màn hình 1280x800, bộ đệm toàn màn hình sử dụng khoảng 4 MB, vì vậy, bộ nhớ đệm phải có kích thước tối thiểu là 4 MB. |
ro.hwui.shape_cache_size |
float |
1 |
Xác định kích thước (tính bằng megabyte) của bộ nhớ đệm hình dạng cho mỗi quy trình. Giá trị này được một số bộ nhớ đệm sử dụng, chẳng hạn như hình tròn và hình chữ nhật góc tròn. Bạn nên sử dụng bộ nhớ đệm đủ lớn để chứa ít nhất một màn hình 8 bit. Ví dụ: trên màn hình 1280x800, bộ đệm toàn màn hình sử dụng khoảng 1 MB, vì vậy, bộ nhớ đệm phải có kích thước tối thiểu là 1 MB. |
ro.hwui.drop_shadow_cache_size |
float |
2 |
Xác định kích thước (tính bằng megabyte) của bộ nhớ đệm bóng đổ văn bản cho mỗi quy trình. Bạn nên sử dụng bộ nhớ đệm đủ lớn để chứa 2 màn hình kết cấu 8 bit. Ví dụ: trên màn hình 1280x800, bộ đệm toàn màn hình sử dụng khoảng 1 MB, vì vậy, bộ nhớ đệm phải có kích thước tối thiểu là 2 MB. |
ro.hwui.r_buffer_cache_size |
float |
2 |
Xác định kích thước (tính bằng megabyte) của bộ nhớ đệm bộ đệm kết xuất cho mỗi quy trình. Bạn nên sử dụng bộ nhớ đệm đủ lớn để chứa gấp đôi màn hình ở 8 bit. Ví dụ: trên màn hình 1280x800, bộ đệm toàn màn hình sử dụng khoảng 1 MB, vì vậy, bộ nhớ đệm phải có kích thước tối thiểu là 2 MB. Bộ nhớ đệm có thể nhỏ hơn nếu thiết bị hỗ trợ bộ đệm khuôn tô 4 bit hoặc 1 bit. |
ro.hwui.texture_cache_flush_rate |
float |
0.6 |
Xác định tỷ lệ phần trăm bộ nhớ đệm kết cấu cần giữ lại sau khi xoá bộ nhớ. Hệ thống sẽ kích hoạt việc xoá bộ nhớ khi cần thu hồi bộ nhớ trên tất cả các ứng dụng. Bạn nên giải phóng khoảng 50% bộ nhớ đệm trong những trường hợp như vậy. |
ro.hwui.text_small_cache_width |
integer |
1024 |
Xác định chiều rộng (tính bằng pixel) của bộ nhớ đệm phông chữ mặc định. Giới hạn trên phụ thuộc vào tốc độ tải kết cấu lên GPU. Bạn nên sử dụng tối thiểu 1024 pixel nhưng tối đa 2048 pixel. Ngoài ra, hãy sử dụng giá trị luỹ thừa của 2. |
ro.hwui.text_small_cache_height |
integer |
256 |
Xác định chiều cao (tính bằng pixel) của bộ nhớ đệm phông chữ mặc định. Giới hạn trên phụ thuộc vào tốc độ tải kết cấu lên GPU. Bạn nên sử dụng tối thiểu 256 pixel nhưng tối đa 1024 pixel. |
ro.hwui.text_large_cache_width |
integer |
2048 |
Xác định chiều rộng (tính bằng pixel) của bộ nhớ đệm phông chữ lớn. Bộ nhớ đệm này cũng được dùng cho các ký tự quá lớn để vừa với bộ nhớ đệm phông chữ mặc định. Giới hạn trên phụ thuộc vào tốc độ tải kết cấu lên GPU. Bạn nên sử dụng tối thiểu 2048 pixel nhưng tối đa 4096 pixel. Ngoài ra, hãy sử dụng giá trị luỹ thừa của 2. |
ro.hwui.text_large_cache_height |
integer |
512 |
Xác định chiều cao (tính bằng pixel) của bộ nhớ đệm phông chữ lớn. Bộ nhớ đệm phông chữ lớn được dùng cho các ký tự quá lớn để vừa với bộ nhớ đệm phông chữ mặc định. Giới hạn trên phụ thuộc vào tốc độ tải kết cấu lên GPU. Bạn nên sử dụng tối thiểu 512 pixel nhưng tối đa 2048 pixel. Ngoài ra, hãy sử dụng giá trị luỹ thừa của 2. |
hwui.text_gamma_correction |
string |
lookup |
Chọn kỹ thuật chỉnh sửa gamma văn bản. Có 4 lựa chọn có thể có:
lookup, kỹ thuật này mang lại sự cân bằng tốt về chất lượng, tốc độ và mức sử dụng bộ nhớ.
|
hwui.text_gamma |
float |
1.4 |
Xác định giá trị gamma được dùng để chỉnh sửa gamma văn bản. Bạn có thể điều chỉnh giá trị này dựa trên màn hình của thiết bị. |
hwui.text_gamma.black_threshold |
integer |
64 |
Xác định ngưỡng độ sáng mà bên dưới đó kỹ thuật chỉnh sửa gamma đen được áp dụng. Giá trị phải nằm trong khoảng từ 0 đến 255. |
hwui.text_gamma.white_threshold |
integer |
192 |
Xác định ngưỡng độ sáng mà bên trên đó kỹ thuật chỉnh sửa gamma trắng được áp dụng. Giá trị phải nằm trong khoảng từ 0 đến 255. |
hwui.use_gpu_pixel_buffers |
boolean |
true |
Bật hoặc tắt việc sử dụng PBO trên phần cứng OpenGL ES 3.0. Trình kết xuất sử dụng PBO để thực hiện việc tải hoạ tiết không đồng bộ, đặc biệt là đối với bộ nhớ đệm phông chữ. Thuộc tính này phải luôn được bật, nhưng bạn có thể tắt thuộc tính này trong quá trình khởi động hoặc phát triển nếu PBO gây ra lỗi hoặc hiệu suất kém. Đó là lý do thuộc tính này không chỉ ở chế độ chỉ đọc. |