鲲鹏社区首页
中文
注册
开发者
我要评分
获取效率
正确性
完整性
易理解
在线提单
论坛求助

图形加速层配置项

当前图形加速层使能了GPUMock和ShaderCache两个可配置功能,本章节对两个可配置功能的配置项、配置规则进行说明,并且提供配置示例以供参考。

  • GPUMock:对GPU厂商、GPU型号、OpenGL ES版本、GLMax能力值、OpenGL ES拓展进行模拟。
  • ShaderCache:通过预构建着色器二进制、多云手机共享缓存,消除着色器编译链接等处理时间,降低OpenGL ES大型应用运行卡顿率。

可使用kbox_render_accelerating_configuration.xml配置文件进行相关功能配置。

配置项

表1 kbox_render_accelerating_configuration.xml配置项说明

配置项分类

元素

子元素

属性

取值范围

配置说明

通用配置

Application

-

name

system

表示系统通用配置。

-

isEnable

  • true:开启
  • false:不开启

指定该应用是否开启图形加速层功能。

feature

name

kbox.render.accelerating.gpuMock

指定图形加速层功能。

isEnable

  • true:开启
  • false:不开启

指定该应用是否开启对应功能。

应用配置

Application

-

name

process_name

指定应用的进程名。

-

isEnable

  • true:开启
  • false:不开启

指定该应用是否开启图形加速层功能。

feature

name

  • kbox.render.accelerating.shaderCache
  • kbox.render.accelerating.gpuMock

指定图形加速层功能。取值不同时配置项也不同,请参见表2

isEnable

  • true:开启
  • false:不开启

指定该应用是否开启对应功能。

表2 应用配置项中feature元素的name属性取值不同时配置说明

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的拓展是否使能进行模拟。

  • 属性“param”表示OpenGL ES的某个拓展名。
  • 属性“value”有以下取值:
    • 1:若OpenGL ES不支持该拓展,将其模拟为支持。
    • 0:若OpenGL ES已支持该拓展,将其模拟为不支持。

可选

GL_MAX_VALUE_MOCK

-

支持对OpenGL ES的GL_MAX能力值进行模拟。

  • 属性“param”为OpenGL ES可查询的某个GL_MAX_*枚举值。
  • 属性“value”为值大小。

可选

配置规则

  • 为了方便进行全局配置,除了支持对具体应用进行独立配置外,也支持系统通用配置。系统通用配置的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>