博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
OpenGLRenderer Configuration
阅读量:7229 次
发布时间:2019-06-29

本文共 6892 字,大约阅读时间需要 22 分钟。

OpenGLRenderer Configuration

This document describes performance tuning that you can do to get the most out of your hardware.

OpenGLRenderer (libhwui) Properties


This document lists all the properties that you can use to control Android’s 2D hardware accelerated rendering pipeline. Set these properties in the device.mk as PRODUCT_PROPERTY_OVERRIDES.

Property Type Default Value Description
ro.hwui.disable_scissor_opt boolean false

Used to enable or disable scissor optimization. The accepted values are true and false. When scissor optimization is enabled, OpenGLRenderer attempts to minimize the use of scissoring by selectively enabling and disabling the GL scissor test.

When the optimization is disabled, OpenGLRenderer keeps the GL scissor test enabled and changes the scissor rect as needed. Some GPUs (for instance, the SGX 540) perform better when changing the scissor rect more often than enabling or disabling the scissor test often.

ro.hwui.texture_cache_size float 24 Defines the size, in megabytes, of the per process texture cache. We recommend using a cache large enough to hold several screens worth of 32-bit textures (for instance, on a 1280x800 display, a full screen buffer uses about 4 MB so the cache should be at least 20 MB.)
ro.hwui.layer_cache_size float 16 Defines the size, in megabytes, of the per process layers cache. We recommend using a cache large enough to hold 4 times the screen in 32 bits. For instance, on a 1280x800 display, a full screen buffer uses about 4 MB, so the cache should be at least 16 MB.
ro.hwui.gradient_cache_size 0.5 float Defines the size, in megabytes, of the per process gradients cache. A single gradient generally occupies between 1 and 4 KB of memory. It is recommended to use a cache large enough to hold at least twelve gradients.
ro.hwui.patch_cache_size integer 128 Defines the size, in kilobytes, of the 9-patches cache, per process. This cache holds only vertex data and can therefore be kept small. Each vertex is made of 4 floats, or 16 bytes.
ro.hwui.path_cache_size float 4 Defines the size, in megabytes, of the per process paths cache. We recommended using a cache large enough to hold at least one screen worth of 32-bit textures. For instance, on a 1280x800 display, a full screen buffer uses about 4 MB, so the cache should be at least 4 MB.
ro.hwui.shape_cache_size float 1 Defines the size, in megabytes, of the per process shapes caches. This value is used by several caches such as circles and rounded rectangles. We recommend using a cache large enough to hold at least one 8-bit screen. For instance, on a 1280x800 display, a full screen buffer uses about 1 MB, so the cache should be at least 1 MB.
ro.hwui.drop_shadow_cache_size float 2 Defines the size, in megabytes, of the per process text drop shadows cache. We recommend using a cache large enough to hold two screens worth of 8-bit textures. For instance, on a 1280x800 display, a full screen buffer uses about 1 MB, so the cache should be at least 2 MB.
ro.hwui.r_buffer_cache_size float 2 Defines the size, in megabytes, of the render buffers cache per process. It is recommended to use a cache large enough to hold twice the screen in 8 bits. For instance, on a 1280x800 display, a full screen buffer uses about 1 MB so the cache should be at least 2 MB. The cache can be smaller if the device supports 4 bits or 1 bit stencil buffers.
ro.hwui.texture_cache_flush_rate float 0.6 Defines the percentage of the texture cache to keep after a memory flush. Memory flushes are triggered when the system needs to reclaim memory across all applications. We recommend releasing about 50% of the cache in such situations.
ro.hwui.text_small_cache_width integer 1024 Defines the width in pixels of the default font cache. The upper bound depends on how fast the GPU can upload textures. We recommend using at least 1024 pixels but at most 2048 pixels. You should also use a power of two value.
ro.hwui.text_small_cache_height integer 256 Defines the height in pixels of the default font cache. The upper bound depends on how fast the GPU can upload textures. We recommend using at least 256 pixels but at most 1024 pixels.
ro.hwui.text_large_cache_width integer 2048 Defines the width in pixels of the large font cache. This cache is used for glyphs too large to fit in the default font cache. The upper bound depends on how fast the GPU can upload textures. We recommended using at least 2048 pixels but at most 4096 pixels. You should also use a power of two value.
ro.hwui.text_large_cache_height integer 512 Defines the height in pixels of the large font cache. The large font cache is used for glyphs too large to fit in the default font cache. The upper bound depends on how fast the GPU can upload textures. We recommend using at least 512 pixels but at most 2048 pixels. You should also use a power of two value.
ro.zygote.disable_gl_preload boolean false Used to enable/disable preloading of EGL/GL drivers in Zygote at boot time. When this property is set to false, Zygote will preload the GL drivers by invoking eglGetDisplay(EGL_DEFAULT_DISPLAY). The goal is to load the dynamic libraries code in Zygote to share it with all the other processes. If a driver does not support being shared, set this property to true.
hwui.text_gamma_correction string lookup Selects the text gamma correction technique. There are four possible choices:
  • lookup3: A correction based on lookup tables. Gamma correction is different for black and white text (see thresholds below).
  • lookup: A correction based on a single lookup table.
  • shader3: A correction applied by a GLSL shader. Gamma correction is different for black and white text (see thresholds below).
  • shader: A correction applied by a GLSL shader.
Lookup gamma corrections function best on GPUs with limited shader math. Shader gamma corrections are best to save memory. We recommend using the default lookup technique, which offers a good compromise in terms of quality, speed, and memory usage.
hwui.text_gamma float 1.4 Defines the gamma value used for text gamma correction. This value can be adjusted based on the display that is used by the device.
hwui.text_gamma.black_threshold integer 64 Defines the luminance threshold below which black gamma correction is applied. The value must be defined in the range 0..255.
hwui.text_gamma.white_threshold integer 192 Defines the luminance threshold above which white gamma correction is applied. The value must be defined in the range 0..255.
hwui.use_gpu_pixel_buffers boolean true Used to enable or disable the use of PBOs on OpenGL ES 3.0 hardware. PBOs are used by the renderer to perform asynchronous texture uploads, especially for the font cache. This property should always remain enabled but can be disabled during bringup or development if the use of PBOs causes corruptions or terrible performance. This is why the property is not read-only.

转载地址:http://itdfm.baihongyu.com/

你可能感兴趣的文章
3年工作经验的Java程序员面试经过
查看>>
Mysql 批量写入数据,对于这类性能问题,你是如何优化的
查看>>
MySQL无法启动几种常见问题小结
查看>>
阿里CTO:阿里所有技术和产品输出都将必须通过阿里云进行
查看>>
更好用的集群限流功能,Sentinel 发布 v1.4.2
查看>>
Python(生成执行文件)
查看>>
redis安装配置 - ttlsa教程系列之redis
查看>>
Linux --DHCP服务器配置;DHCP服务器中继
查看>>
IE版本多的可爱_已迁移
查看>>
eclipse查看jar包中class的中文注释乱码问题的解决
查看>>
我的友情链接
查看>>
我的友情链接
查看>>
mariadb安装
查看>>
vue+vuex+axios+echarts画一个动态更新的中国地图
查看>>
5.8 volumetric post-processing--game programming gems5 笔记
查看>>
8086的地址空间
查看>>
Android开发动画效果被遮掉的解决方法
查看>>
Apache2.2.17源码编译安装以及配置虚拟主机
查看>>
2017年开发语言排名
查看>>
读二进制表的显示 Binary Watch
查看>>