天天看點

GPU 頻率設定

1.GPU 頻率設定

  • mPerfServiceWrapper.userRegScnConfig(mCurPerfHandle, mPerfServiceWrapper.CMD_SET_GPU_FREQ_MIN, gpuLevel, PARAM_DEFAULT_VALUE, PARAM_DEFAULT_VALUE, PARAM_DEFAULT_VALUE);
  • mPerfServiceWrapper.userRegScnConfig(mCurPerfHandle, mPerfServiceWrapper.CMD_SET_GPU_FREQ_MAX, gpuLevel, PARAM_DEFAULT_VALUE, PARAM_DEFAULT_VALUE, PARAM_DEFAULT_VALUE);
public CpuSettingsUtils(Context mContext) {
        this.mContext = mContext;
        mCurPerfHandle = PERFHANDLE_ERROR_CODE;
        mPerfServiceWrapper = new PerfServiceWrapper(mContext);

    }


    /**
     * CPU mode freq settings
     *
     * @param minCpuNumber
     * @param maxCpuFreq
     * @param mode
     * @param freqMin
     * @param freqMax
     * @param coreMin
     * @param coreMax
     */
    public void setCpu(int minCpuNumber, int maxCpuFreq, int mode, int freqMin, int freqMax, int coreMin, int coreMax, int screenOffVaule, int gpuLevel) {
        userDisableIfNeed();
        if (null != mPerfServiceWrapper) {
            mCurPerfHandle = mPerfServiceWrapper.userReg(minCpuNumber, maxCpuFreq);

            if (PERFHANDLE_ERROR_CODE != mCurPerfHandle) {
                mPerfServiceWrapper.userRegScnConfig(mCurPerfHandle, mPerfServiceWrapper.CMD_SET_VCORE, mode, PARAM_DEFAULT_VALUE, PARAM_DEFAULT_VALUE, PARAM_DEFAULT_VALUE);

                mPerfServiceWrapper.userRegScnConfig(mCurPerfHandle, mPerfServiceWrapper.CMD_SET_CPU_CORE_MIN, coreMin, PARAM_DEFAULT_VALUE, PARAM_DEFAULT_VALUE, PARAM_DEFAULT_VALUE);

                mPerfServiceWrapper.userRegScnConfig(mCurPerfHandle, mPerfServiceWrapper.CMD_SET_CPU_CORE_MAX, coreMax, PARAM_DEFAULT_VALUE, PARAM_DEFAULT_VALUE, PARAM_DEFAULT_VALUE);

                mPerfServiceWrapper.userRegScnConfig(mCurPerfHandle, mPerfServiceWrapper.CMD_SET_CPU_FREQ_MIN, freqMin, PARAM_DEFAULT_VALUE, PARAM_DEFAULT_VALUE, PARAM_DEFAULT_VALUE);
                mPerfServiceWrapper.userRegScnConfig(mCurPerfHandle, mPerfServiceWrapper.CMD_SET_CPU_FREQ_MAX, freqMax, PARAM_DEFAULT_VALUE, PARAM_DEFAULT_VALUE, PARAM_DEFAULT_VALUE);

                mPerfServiceWrapper.userRegScnConfig(mCurPerfHandle, mPerfServiceWrapper.CMD_SET_SCREEN_OFF_STATE, screenOffVaule, PARAM_DEFAULT_VALUE, PARAM_DEFAULT_VALUE, PARAM_DEFAULT_VALUE);

                mPerfServiceWrapper.userRegScnConfig(mCurPerfHandle, mPerfServiceWrapper.CMD_SET_GPU_FREQ_MIN, gpuLevel, PARAM_DEFAULT_VALUE, PARAM_DEFAULT_VALUE, PARAM_DEFAULT_VALUE);
                mPerfServiceWrapper.userRegScnConfig(mCurPerfHandle, mPerfServiceWrapper.CMD_SET_GPU_FREQ_MAX, gpuLevel, PARAM_DEFAULT_VALUE, PARAM_DEFAULT_VALUE, PARAM_DEFAULT_VALUE);


                mPerfServiceWrapper.userEnable(mCurPerfHandle);

                Log.d(TAG, "setCpu minCpuNumber = " + minCpuNumber + ", maxCpuFreq = " + maxCpuFreq + ", mode = " + mode + ", freqMin = " + freqMin + ", freqMax = " + freqMax + ", coreMin = " + coreMin + ", coreMax = " + coreMax + ", mCurPerfHandle = " + mCurPerfHandle);
            }
        }
    }
           

2.GPU 頻率設定 UI

GPU 頻率設定

3.源碼下載下傳

https://github.com/sufadi/AndroidCpuTools

繼續閱讀