图形加速层配置项
当前图形加速层使能了GPUMock和ShaderCache两个可配置功能,本章节对两个可配置功能的配置项、配置规则进行说明,并且提供配置示例以供参考。
- GPUMock:对GPU厂商、GPU型号、OpenGL ES版本、GLMax能力值、OpenGL ES拓展进行模拟。
- ShaderCache:通过预构建着色器二进制、多云手机共享缓存,消除着色器编译链接等处理时间,降低OpenGL ES大型应用运行卡顿率。
可使用kbox_render_accelerating_configuration.xml配置文件进行相关功能配置。
配置项
配置项分类 |
元素 |
子元素 |
属性 |
取值范围 |
配置说明 |
|---|---|---|---|---|---|
通用配置 |
Application |
- |
name |
system |
表示系统通用配置。 |
- |
isEnable |
|
指定该应用是否开启图形加速层功能。 |
||
feature |
name |
kbox.render.accelerating.gpuMock |
指定图形加速层功能。 |
||
isEnable |
|
指定该应用是否开启对应功能。 |
|||
应用配置 |
Application |
- |
name |
process_name |
指定应用的进程名。 |
- |
isEnable |
|
指定该应用是否开启图形加速层功能。 |
||
feature |
name |
|
指定图形加速层功能。取值不同时配置项也不同,请参见表2。 |
||
isEnable |
|
指定该应用是否开启对应功能。 |
name属性取值 |
子元素 |
内部参数 |
配置说明 |
必选/可选 |
|---|---|---|---|---|
kbox.render.accelerating.shaderCache |
GL_SHADER_CACHE |
SHADER_CACHE_MODE |
指定ShaderCache功能应用对缓存路径的读写模式。取值如下: 0:对缓存路径文件没有读写权限的关闭模式。 1:只有读权限的只读模式。 2:既有读权限又有写权限的读写模式。 |
可选 |
SHADER_CACHE_DIR_SIZE |
指定应用的可缓存文件存储大小。取值为:64,128,256,512,1024,单位为MB。 |
可选 |
||
kbox.render.accelerating.gpuMock |
GL_RENDERER_MOCK |
GL_RENDERER |
对GPU型号进行模拟。 |
可选 |
GL_VENDOR |
对GPU厂商进行模拟。 |
可选 |
||
GL_VERSION |
对OpenGL ES版本号进行模拟。 |
可选 |
||
GL_EXTENSION_MOCK |
- |
支持对OpenGL ES的拓展是否使能进行模拟。
|
可选 |
|
GL_MAX_VALUE_MOCK |
- |
支持对OpenGL ES的GL_MAX能力值进行模拟。
|
可选 |
配置规则
- 为了方便进行全局配置,除了支持对具体应用进行独立配置外,也支持系统通用配置。系统通用配置的Application名固定为“system”,具体应用的配置可以覆盖系统通用配置;系统通用配置支持GPUMock,不支持ShaderCache进行配置。
- GPUMock是个基础功能,可供图形加速层其他功能使用,应用使能ShaderCache功能会自动使能GPUMock功能。
配置示例
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 | <!-- 配置示例 --> <!-- 系统通用配置 --> <Application name="system" isEnable="false"> <feature name="kbox.render.accelerating.gpuMock" isEnable="false"> <GL_RENDERER_MOCK> <param name="GL_RENDERER" value="Mali_G76"/> <param name="GL_VENDOR" value="Huawei"/> <param name="GL_VERSION" value="OpenGL ES 3.2 Mesa 22.1.7"/> </GL_RENDERER_MOCK> </feature> </Application> <!-- 具体应用配置 --> <Application name="process_name" isEnable="false"> <feature name="kbox.render.accelerating.shaderCache" isEnable="false"> <GL_SHADER_CACHE> <param name="SHADER_CACHE_MODE" value="0"/> <param name="SHADER_CACHE_DIR_SIZE" value="200"/> </GL_SHADER_CACHE> </feature> <feature name="kbox.render.accelerating.gpuMock" isEnable="false"> <GL_RENDERER_MOCK> <param name="GL_RENDERER" value="Mali_G76"/> <param name="GL_VENDOR" value="Huawei"/> <param name="GL_VERSION" value="OpenGL ES 3.2 Mesa 22.1.7"/> </GL_RENDERER_MOCK> <GL_EXTENSION_MOCK> <param name="GL_EXT_blend_minmax" value="1"/> </GL_EXTENSION_MOCK> <GL_MAX_VALUE_MOCK> <param name="GL_MAX_VERTEX_ATTRIBS" value="16"/> </GL_MAX_VALUE_MOCK> </feature> </Application> |