---
title: 图形加速层配置项
description: "当前图形加速层使能了GPUMock和ShaderCache两个可配置功能，本章节对两个可配置功能的配置项、配置规则进行说明，并且提供配置示例以供参考。"
url: https://www.hikunpeng.com/document/detail/zh/kunpengboostkithistory/2530/armnative15/kunpengcpsvideo_20_0013.html
sourcePath: /source/zh/kunpengboostkithistory/2530/armnative15/kunpengcpsvideo_20_0013.html
indexId: 52d29247eb9874dd2064911cf40452a3c138b44befda8ef92902a84d0662fa9379
---
# 图形加速层配置项

当前图形加速层使能了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 | 表示系统通用配置。 |
| 通用配置 | Application | \- | isEnable | true：开启 false：不开启 | 指定该应用是否开启图形加速层功能。 |
| 通用配置 | Application | feature | name | kbox.render.accelerating.gpuMock | 指定图形加速层功能。 |
| 通用配置 | Application | feature | isEnable | true：开启 false：不开启 | 指定该应用是否开启对应功能。 |
| 应用配置 | Application | \- | name | process\_name | 指定应用的进程名。 |
| 应用配置 | Application | \- | isEnable | true：开启 false：不开启 | 指定该应用是否开启图形加速层功能。 |
| 应用配置 | Application | feature | name | kbox.render.accelerating.shaderCache kbox.render.accelerating.gpuMock | 指定图形加速层功能。取值不同时配置项也不同，请参见表2。 |
| 应用配置 | Application | feature | isEnable | true：开启 false：不开启 | 指定该应用是否开启对应功能。 |


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

| name属性取值 | 子元素 | 内部参数 | 配置说明 | 必选/可选 |
| --- | --- | --- | --- | --- |
| kbox.render.accelerating.shaderCache | GL\_SHADER\_CACHE | SHADER\_CACHE\_MODE | 指定ShaderCache功能应用对缓存路径的读写模式。取值如下： 0：对缓存路径文件没有读写权限的关闭模式。 1：只有读权限的只读模式。 2：既有读权限又有写权限的读写模式。 | 可选 |
| kbox.render.accelerating.shaderCache | GL\_SHADER\_CACHE | SHADER\_CACHE\_DIR\_SIZE | 指定应用的可缓存文件存储大小。取值为：64，128，256，512，1024，单位为MB。 | 可选 |
| kbox.render.accelerating.gpuMock | GL\_RENDERER\_MOCK | GL\_RENDERER | 对GPU型号进行模拟。 | 可选 |
| kbox.render.accelerating.gpuMock | GL\_RENDERER\_MOCK | GL\_VENDOR | 对GPU厂商进行模拟。 | 可选 |
| kbox.render.accelerating.gpuMock | GL\_RENDERER\_MOCK | GL\_VERSION | 对OpenGL ES版本号进行模拟。 | 可选 |
| kbox.render.accelerating.gpuMock | GL\_EXTENSION\_MOCK | \- | 支持对OpenGL ES的拓展是否使能进行模拟。 属性“param”表示OpenGL ES的某个拓展名。 属性“value”有以下取值： 1：若OpenGL ES不支持该拓展，将其模拟为支持。 0：若OpenGL ES已支持该拓展，将其模拟为不支持。 | 可选 |
| kbox.render.accelerating.gpuMock | GL\_MAX\_VALUE\_MOCK | \- | 支持对OpenGL ES的GL\_MAX能力值进行模拟。 属性“param”为OpenGL ES可查询的某个GL\_MAX\_\*枚举值。 属性“value”为值大小。 | 可选 |


#### 配置规则

- 为了方便进行全局配置，除了支持对具体应用进行独立配置外，也支持系统通用配置。系统通用配置的Application名固定为“system”，具体应用的配置可以覆盖系统通用配置；系统通用配置支持GPUMock，不支持ShaderCache进行配置。
- GPUMock是个基础功能，可供图形加速层其他功能使用，应用使能ShaderCache功能会自动使能GPUMock功能。


#### 配置示例

```
<!-- 配置示例 -->
<!-- 系统通用配置 -->
<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>
```
