# 示例代码

**上一级主题：** [性能 API (QAPE)](https://docs.qualcomm.com/doc/80-PK177-134Y/topic/qape_api_2.html)

## Java 示例

Source: [https://docs.qualcomm.com/doc/80-PK177-134Y/topic/qape_example_code.html](https://docs.qualcomm.com/doc/80-PK177-134Y/topic/qape_example_code.html)

### Java

**需要导入**

    import com.qualcomm.qti.qesdk.Performance.*;
          import com.qualcomm.qti.qesdk.QesdkStatusException;
          import com.qualcomm.qti.qesdkIntf.IQesdk;Copy to clipboard

**初始化**

    IQesdk qesdkManager = Iqesdk.createInstance(getApplicationContext());
          int statusId = qesdkManager.init(eventCallbackHandler);
          QAPEManager perfManager = new QAPEManager(qesdkManager);
          QAPE_enhancedManager enhancedPerfManager = new QAPE_enhancedManager(qesdkManager);
          int setPkgStatus = perfManager.set_pkg(getApplicationContext().getPackageName());
          int ret = perfManager->set_pkg(pkg_name);Copy to clipboard

**设置回调**

    IQesdkEventCallBack eventCallbackHandler = new IQesdkEventCallBack() {
          @Override
          public void onEvent(int opcode, int[] subsys) {
          // Handle QESDK event
          }
          };Copy to clipboard

**CPU 提速**

    int retStatus = perfManager.boost_cpu(cpuBoostPercentage);Copy to clipboard

**GPU 提速**

    retStatus = perfManager.boost_gpu(gpuBoostPercentage);Copy to clipboard

**提示高 CPU 利用率**

    retStatus = perfManager.hint_high_cpuutil(tid);Copy to clipboard

**提示低 CPU 利用率**

    retStatus = perfManager.hint_low_cpuutil(tid);Copy to clipboard

**提示低延迟**

    retStatus = perfManager.hint_low_latency(tid);Copy to clipboard

**提示线程管道**

    retStatus = perfManager.hint_thread_pipeline(threadIds);Copy to clipboard

**释放线程提示**

    retStatus = perfManager.release_thread_hints(0,tid);Copy to clipboard

**获取 GPU 余量**

    retStatus = enhancedPerfManager.get_gpu_headroom(gpuDuration, gpuHeadroomType);Copy to clipboard

## 原生示例

Source: [https://docs.qualcomm.com/doc/80-PK177-134Y/topic/qape_example_code.html](https://docs.qualcomm.com/doc/80-PK177-134Y/topic/qape_example_code.html)

### 原生

**需要包括的内容**

    #include "qesdk_ndk.h"
          #include "qesdk_Performance_QAPE.h"
          #include "qesdk_Performance_QAPE_enhanced.h"Copy to clipboard

**初始化**

    qesdk_handle_t qesdk_handle = qesdk_init(nativeLicense, len, event_callback_handler);
          QAPEManager *perfManager = new QAPEManager();
          QAPE_enhancedManager *perfEnhManager = new QAPE_enhancedManager();
          int intRet = perfManager->init(nativeLicense, len, event_callback_handler);
          intRet = perfEnhManager->init(nativeLicense, len, event_callback_handler);Copy to clipboard

**设置回调**

    void event_callback_handler(uint32_t opcode, uint32_t subsys[]) {
          // Callback to handle QESDK events
          }Copy to clipboard

**CPU 提速**

    int ret = perfManager->boost_cpu(nBoostVal);Copy to clipboard

**GPU 提速**

    ret = perfManager->boost_gpu(nBoostVal);Copy to clipboard

**提示高 CPU 利用率**

    ret = perfManager->hint_high_cpuutil(ntid);Copy to clipboard

**提示低 CPU 利用率**

    ret = perfManager->hint_low_cpuutil(ntid);Copy to clipboard

**提示低延迟**

    ret = perfManager->hint_low_latency(ntid);Copy to clipboard

**提示线程管道**

    ret = perfManager->hint_thread_pipeline(ntids);Copy to clipboard

**释放线程提示**

    ret = perfManager->release_thread_hints(n_hint_category, ntid);Copy to clipboard

**获取 GPU 余量**

    ret = perfEnhManager->get_gpu_headroom(n_past_dur, avg);Copy to clipboard

Last Published: Jun 22, 2023

[Previous Topic
get\_gpu\_headroom](https://docs.qualcomm.com/bundle/publicresource/80-PK177-134Y/topics/enhanced_qape_get_gpu_headroom.md) [Next Topic
位置 API（精确定位）](https://docs.qualcomm.com/bundle/publicresource/80-PK177-134Y/topics/location.md)