vendor_xiaomi_onyx/proprietary/vendor/etc/pwr/GamePowerOptFeature.xml

295 lines
15 KiB
XML
Raw Normal View History

<!--
/******************************************************************************
@file GameOptimizationFeature.xml
@brief Game Optimization feature xml
DESCRIPTION
Each feature has an xml file to define the feature components
===========================================================================
Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.
All rights reserved.
Confidential and Proprietary - Qualcomm Technologies, Inc.
===========================================================================
******************************************************************************/
-->
<Feature>
<Name>GamePowerOptFeature</Name>
<Libname>libgamepoweroptfeature.so</Libname>
<Configs target = "kera">
<!-- FPS threshold values in the order: Increase, Aggressive Increase, Decrease, Target FPS Delta-->
<FPS_30_THRESHOLD>0.6, 1.0, 0.2, 0.0</FPS_30_THRESHOLD>
<FPS_35_THRESHOLD>0.6, 1.0, 0.3, 0.0</FPS_35_THRESHOLD>
<FPS_40_THRESHOLD>0.6, 1.0, 0.4, 0.0</FPS_40_THRESHOLD>
<FPS_45_THRESHOLD>0.6, 1.0, 0.4, 0.0</FPS_45_THRESHOLD>
<FPS_60_THRESHOLD>0.6, 5.0, 1, 0.0</FPS_60_THRESHOLD>
<FPS_90_THRESHOLD>2.0, 5.0, 0.6, 0.0</FPS_90_THRESHOLD>
<FPS_120_THRESHOLD>2.0, 5.0, 0.7, 0.0</FPS_120_THRESHOLD>
<FPS_144_THRESHOLD>2.0, 5.0, 0.8, 0.0</FPS_144_THRESHOLD>
<FPS_MAX_THRESHOLD>120</FPS_MAX_THRESHOLD>
<!-- Parameters: kp, ki, kd, iLimit, outputLimit, dt (fre unit kHz)-->
<PID_Parameters_Up>6, 1, 3, 20, 200, 0.5</PID_Parameters_Up>
<PID_Parameters_Down>6, 1, 3, 20, 200, 0.5</PID_Parameters_Down>
<SAMPLE_CALL_INTERVAL_MSEC>500</SAMPLE_CALL_INTERVAL_MSEC>
<MAX_SAMPLE_NUM>15</MAX_SAMPLE_NUM>
<FPS_STABLE_CNT>40</FPS_STABLE_CNT>
<Freq_Drop_Bottom_ThresholdRatio>30</Freq_Drop_Bottom_ThresholdRatio>
<MIN_MAX_CAP_RANGE_DOWN>1</MIN_MAX_CAP_RANGE_DOWN>
<MIN_MAX_CAP_RANGE_UP>0</MIN_MAX_CAP_RANGE_UP>
<Algo_Engine>Algo_PID</Algo_Engine>
<JANKRESCUE_ENABLE>0</JANKRESCUE_ENABLE>
<JANKRESCUE_LOG_ENABLE>0</JANKRESCUE_LOG_ENABLE>
<JANKRESCUE_TRACE_ENABLE>0</JANKRESCUE_TRACE_ENABLE>
<JANK_WORKLOAD_ZONE_FACTOR>30</JANK_WORKLOAD_ZONE_FACTOR>
<JANK_FILTERING_COEFFICIENT>40</JANK_FILTERING_COEFFICIENT>
<JANK_SET_THRESHOLD>2</JANK_SET_THRESHOLD>
<JANK_RESET_THRESHOLD>-2</JANK_RESET_THRESHOLD>
<TPLOAD_LIGHT_THRESHOLD>0</TPLOAD_LIGHT_THRESHOLD>
<!-- Thermal Control Config -->
<ThermalControl_Enable>0</ThermalControl_Enable>
<THERMAL_SAMPLE_CALL_INTERVAL_MSEC>250</THERMAL_SAMPLE_CALL_INTERVAL_MSEC>
<PID_Parameters_Thermal>0, 6, 0, 2, 12, 1</PID_Parameters_Thermal>
<Use_ThermalZone_Threshold>0</Use_ThermalZone_Threshold>
<ThermalZone_Threshold>10_PERCENT_HEADROOM</ThermalZone_Threshold>
<SkinTemp_Type>sys-therm-2</SkinTemp_Type>
<SkinTemp_Threshold>49.5</SkinTemp_Threshold>
<Thermal_Release_DeltaTemp>1</Thermal_Release_DeltaTemp>
<Thermal_Trigger_DeltaFPS>10</Thermal_Trigger_DeltaFPS>
<!-- Power Control Config -->
<Target_Power_Enable>0</Target_Power_Enable>
<PID_Parameters_Power>3, 1, 1.5, 10, 15, 0.5</PID_Parameters_Power>
<Target_Power_W>4</Target_Power_W>
<Node_Calibration_W>-0.11</Node_Calibration_W>
<POWER_SAMPLE_NUM>20</POWER_SAMPLE_NUM>
</Configs>
<Configs target = "tuna">
<!-- FPS threshold values in the order: Increase, Aggressive Increase, Decrease, Target FPS Delta-->
<FPS_30_THRESHOLD>0.6, 1.0, 0.2, 0.0</FPS_30_THRESHOLD>
<FPS_35_THRESHOLD>0.6, 1.0, 0.3, 0.0</FPS_35_THRESHOLD>
<FPS_40_THRESHOLD>0.6, 1.0, 0.4, 0.0</FPS_40_THRESHOLD>
<FPS_45_THRESHOLD>0.6, 1.0, 0.4, 0.0</FPS_45_THRESHOLD>
<FPS_60_THRESHOLD>0.6, 5.0, 1, 0.0</FPS_60_THRESHOLD>
<FPS_90_THRESHOLD>2.0, 5.0, 0.6, 0.0</FPS_90_THRESHOLD>
<FPS_120_THRESHOLD>2.0, 5.0, 0.7, 0.0</FPS_120_THRESHOLD>
<FPS_144_THRESHOLD>2.0, 5.0, 0.8, 0.0</FPS_144_THRESHOLD>
<FPS_MAX_THRESHOLD>120</FPS_MAX_THRESHOLD>
<!-- Parameters: kp, ki, kd, iLimit, outputLimit, dt (fre unit kHz)-->
<PID_Parameters_Up>6, 1, 3, 20, 200, 0.5</PID_Parameters_Up>
<PID_Parameters_Down>6, 1, 3, 20, 200, 0.5</PID_Parameters_Down>
<SAMPLE_CALL_INTERVAL_MSEC>500</SAMPLE_CALL_INTERVAL_MSEC>
<MAX_SAMPLE_NUM>15</MAX_SAMPLE_NUM>
<FPS_STABLE_CNT>40</FPS_STABLE_CNT>
<Freq_Drop_Bottom_ThresholdRatio>30</Freq_Drop_Bottom_ThresholdRatio>
<MIN_MAX_CAP_RANGE_DOWN>1</MIN_MAX_CAP_RANGE_DOWN>
<MIN_MAX_CAP_RANGE_UP>0</MIN_MAX_CAP_RANGE_UP>
<Algo_Engine>Algo_PID</Algo_Engine>
<JANKRESCUE_ENABLE>0</JANKRESCUE_ENABLE>
<JANKRESCUE_LOG_ENABLE>0</JANKRESCUE_LOG_ENABLE>
<JANKRESCUE_TRACE_ENABLE>0</JANKRESCUE_TRACE_ENABLE>
<JANK_WORKLOAD_ZONE_FACTOR>30</JANK_WORKLOAD_ZONE_FACTOR>
<JANK_FILTERING_COEFFICIENT>40</JANK_FILTERING_COEFFICIENT>
<JANK_SET_THRESHOLD>2</JANK_SET_THRESHOLD>
<JANK_RESET_THRESHOLD>-2</JANK_RESET_THRESHOLD>
<TPLOAD_LIGHT_THRESHOLD>0</TPLOAD_LIGHT_THRESHOLD>
<!-- Thermal Control Config -->
<ThermalControl_Enable>0</ThermalControl_Enable>
<THERMAL_SAMPLE_CALL_INTERVAL_MSEC>250</THERMAL_SAMPLE_CALL_INTERVAL_MSEC>
<PID_Parameters_Thermal>0, 6, 0, 2, 12, 1</PID_Parameters_Thermal>
<Use_ThermalZone_Threshold>0</Use_ThermalZone_Threshold>
<ThermalZone_Threshold>10_PERCENT_HEADROOM</ThermalZone_Threshold>
<SkinTemp_Type>sys-therm-2</SkinTemp_Type>
<SkinTemp_Threshold>49.5</SkinTemp_Threshold>
<Thermal_Release_DeltaTemp>1</Thermal_Release_DeltaTemp>
<Thermal_Trigger_DeltaFPS>10</Thermal_Trigger_DeltaFPS>
<!-- Power Control Config -->
<Target_Power_Enable>0</Target_Power_Enable>
<PID_Parameters_Power>3, 1, 1.5, 10, 15, 0.5</PID_Parameters_Power>
<Target_Power_W>4</Target_Power_W>
<Node_Calibration_W>-0.11</Node_Calibration_W>
<POWER_SAMPLE_NUM>20</POWER_SAMPLE_NUM>
</Configs>
<Configs>
<!-- FPS threshold values in the order: Increase, Aggressive Increase, Decrease, Target FPS Delta-->
<FPS_30_THRESHOLD>0.6, 1.0, 0.2, 0.0</FPS_30_THRESHOLD>
<FPS_35_THRESHOLD>0.6, 1.0, 0.3, 0.0</FPS_35_THRESHOLD>
<FPS_40_THRESHOLD>0.6, 1.0, 0.4, 0.0</FPS_40_THRESHOLD>
<FPS_45_THRESHOLD>0.6, 1.0, 0.4, 0.0</FPS_45_THRESHOLD>
<FPS_60_THRESHOLD>0.0, 5.0, 1.9, 1.0</FPS_60_THRESHOLD>
<FPS_90_THRESHOLD>2.0, 5.0, 1.9, 0.0</FPS_90_THRESHOLD>
<FPS_120_THRESHOLD>2.0, 5.0, 1.9, 0.0</FPS_120_THRESHOLD>
<FPS_144_THRESHOLD>2.0, 5.0, 0.8, 0.0</FPS_144_THRESHOLD>
<FPS_MAX_THRESHOLD>60</FPS_MAX_THRESHOLD>
<!-- Parameters: kp, ki, kd, iLimit, outputLimit, dt (fre unit kHz)-->
<PID_Parameters_Up>3, 0.5, 1.5, 20, 200, 0.5</PID_Parameters_Up>
<PID_Parameters_Down>12, 2, 6, 20, 400, 0.5</PID_Parameters_Down>
<SAMPLE_CALL_INTERVAL_MSEC>500</SAMPLE_CALL_INTERVAL_MSEC>
<MAX_SAMPLE_NUM>15</MAX_SAMPLE_NUM>
<FPS_STABLE_CNT>40</FPS_STABLE_CNT>
<Freq_Drop_Bottom_ThresholdRatio>70</Freq_Drop_Bottom_ThresholdRatio>
<MIN_MAX_CAP_RANGE_DOWN>1</MIN_MAX_CAP_RANGE_DOWN>
<MIN_MAX_CAP_RANGE_UP>0</MIN_MAX_CAP_RANGE_UP>
<Algo_Engine>Algo_PID</Algo_Engine>
<JANKRESCUE_ENABLE>0</JANKRESCUE_ENABLE>
<JANKRESCUE_LOG_ENABLE>0</JANKRESCUE_LOG_ENABLE>
<JANKRESCUE_TRACE_ENABLE>0</JANKRESCUE_TRACE_ENABLE>
<JANK_WORKLOAD_ZONE_FACTOR>30</JANK_WORKLOAD_ZONE_FACTOR>
<JANK_FILTERING_COEFFICIENT>40</JANK_FILTERING_COEFFICIENT>
<JANK_SET_THRESHOLD>2</JANK_SET_THRESHOLD>
<JANK_RESET_THRESHOLD>-2</JANK_RESET_THRESHOLD>
<TPLOAD_LIGHT_THRESHOLD>0</TPLOAD_LIGHT_THRESHOLD>
<!-- Thermal Control Config -->
<ThermalControl_Enable>0</ThermalControl_Enable>
<THERMAL_SAMPLE_CALL_INTERVAL_MSEC>250</THERMAL_SAMPLE_CALL_INTERVAL_MSEC>
<PID_Parameters_Thermal>0, 6, 0, 2, 12, 1</PID_Parameters_Thermal>
<Use_ThermalZone_Threshold>0</Use_ThermalZone_Threshold>
<ThermalZone_Threshold>10_PERCENT_HEADROOM</ThermalZone_Threshold>
<SkinTemp_Type>sys-therm-2</SkinTemp_Type>
<SkinTemp_Threshold>49.5</SkinTemp_Threshold>
<Thermal_Release_DeltaTemp>1</Thermal_Release_DeltaTemp>
<Thermal_Trigger_DeltaFPS>10</Thermal_Trigger_DeltaFPS>
<!-- Power Control Config -->
<Target_Power_Enable>0</Target_Power_Enable>
<PID_Parameters_Power>3, 1, 1.5, 10, 15, 0.5</PID_Parameters_Power>
<Target_Power_W>4</Target_Power_W>
<Node_Calibration_W>-0.11</Node_Calibration_W>
<POWER_SAMPLE_NUM>20</POWER_SAMPLE_NUM>
</Configs>
<Profiles>
<Profile target = "kera">
<!-- Profiles which can be configured -->
<!-- MPCTLV3_MAX_FREQ_CLUSTER_LITTLE_CORE_0 -->
<!-- MPCTLV3_MAX_FREQ_CLUSTER_BIG_CORE_0 -->
<!-- MPCTLV3_MAX_FREQ_CLUSTER_PRIME_CORE_0 -->
<!-- MPCTLV3_MIN_FREQ_CLUSTER_LITTLE_CORE_0 -->
<!-- MPCTLV3_MIN_FREQ_CLUSTER_BIG_CORE_0 -->
<!-- MPCTLV3_MIN_FREQ_CLUSTER_PRIME_CORE_0 -->
<FREQ_MAX_Enable>1, 1, 1</FREQ_MAX_Enable>
<FREQ_MIN_Enable>1, 1, 0</FREQ_MIN_Enable>
<SCALING_MAX_FREQ>0x40804100, 0x40804000, 0x40804200</SCALING_MAX_FREQ>
<SCALING_MIN_FREQ>0x40800100, 0x40800000, 0x40800200</SCALING_MIN_FREQ>
<!-- MPCTLV3_GPU_MIN_FREQ -->
<!-- MPCTLV3_GPU_MAX_FREQ -->
<GPU_FREQ_MAX_Enable>0</GPU_FREQ_MAX_Enable>
<GPU_FREQ_MIN_Enable>0</GPU_FREQ_MIN_Enable>
<GPU_MIN_FREQ>0X4280C000</GPU_MIN_FREQ>
<GPU_MAX_FREQ>0X42810000</GPU_MAX_FREQ>
</Profile>
<Profile target = "tuna">
<!-- Profiles which can be configured -->
<!-- MPCTLV3_MAX_FREQ_CLUSTER_LITTLE_CORE_0 -->
<!-- MPCTLV3_MAX_FREQ_CLUSTER_BIG_CORE_0 -->
<!-- MPCTLV3_MAX_FREQ_CLUSTER_TITANIUM_CORE_0 -->
<!-- MPCTLV3_MAX_FREQ_CLUSTER_PRIME_CORE_0 -->
<!-- MPCTLV3_MIN_FREQ_CLUSTER_LITTLE_CORE_0 -->
<!-- MPCTLV3_MIN_FREQ_CLUSTER_BIG_CORE_0 -->
<!-- MPCTLV3_MAX_FREQ_CLUSTER_TITANIUM_CORE_0 -->
<!-- MPCTLV3_MIN_FREQ_CLUSTER_PRIME_CORE_0 -->
<FREQ_MAX_Enable>1, 1, 1, 1</FREQ_MAX_Enable>
<FREQ_MIN_Enable>1, 1, 0, 0</FREQ_MIN_Enable>
<SCALING_MAX_FREQ>0x40804100, 0x40804000, 0x40804300, 0x40804200</SCALING_MAX_FREQ>
<SCALING_MIN_FREQ>0x40800100, 0x40800000, 0x40800300, 0x40800200</SCALING_MIN_FREQ>
<!-- MPCTLV3_GPU_MIN_FREQ -->
<!-- MPCTLV3_GPU_MAX_FREQ -->
<GPU_FREQ_MAX_Enable>0</GPU_FREQ_MAX_Enable>
<GPU_FREQ_MIN_Enable>0</GPU_FREQ_MIN_Enable>
<GPU_MIN_FREQ>0X4280C000</GPU_MIN_FREQ>
<GPU_MAX_FREQ>0X42810000</GPU_MAX_FREQ>
</Profile>
<Profile>
<!-- Profiles which can be configured -->
<!-- MPCTLV3_MAX_FREQ_CLUSTER_BIG_CORE_0 -->
<!-- MPCTLV3_MAX_FREQ_CLUSTER_PRIME_CORE_0 -->
<!-- MPCTLV3_MIN_FREQ_CLUSTER_BIG_CORE_0 -->
<!-- MPCTLV3_MIN_FREQ_CLUSTER_PRIME_CORE_0 -->
<FREQ_MAX_Enable>1, 1</FREQ_MAX_Enable>
<FREQ_MIN_Enable>0, 0</FREQ_MIN_Enable>
<SCALING_MAX_FREQ>0x40804000, 0x40804200</SCALING_MAX_FREQ>
<SCALING_MIN_FREQ>0x40800000, 0x40800200</SCALING_MIN_FREQ>
<!-- MPCTLV3_GPU_MIN_FREQ -->
<!-- MPCTLV3_GPU_MAX_FREQ -->
<GPU_FREQ_MAX_Enable>0</GPU_FREQ_MAX_Enable>
<GPU_FREQ_MIN_Enable>0</GPU_FREQ_MIN_Enable>
<GPU_MIN_FREQ>0X4280C000</GPU_MIN_FREQ>
<GPU_MAX_FREQ>0X42810000</GPU_MAX_FREQ>
</Profile>
</Profiles>
<IgnoredApps target = "tuna">
<!-- Apps which be excluded for optimization -->
<App1>com.tencent.tmgp.pubgmhd</App1>
<App2>com.tencent.tmgp.cod</App2>
<App3>com.epicgames.fortnite</App3>
</IgnoredApps>
<IgnoredApps target = "kera">
<!-- Apps which be excluded for optimization -->
<App1>com.tencent.tmgp.pubgmhd</App1>
<App2>com.tencent.tmgp.cod</App2>
<App3>com.activision.callofduty.shooter</App3>
<App4>com.epicgames.fortnite</App4>
<App5>com.miHoYo.GenshinImpact</App5>
<App6>com.miHoYo.Yuanshen</App6>
<App7>com.pubg.imobile</App7>
</IgnoredApps>
<IgnoredApps>
<!-- Apps which be excluded for optimization -->
<App1></App1>
<App2></App2>
</IgnoredApps>
<Trigger>
<AsyncId>0x00001001, 0x00001002, 0x00001003, 0x00001004, 0x00001093, 0X00001401, 0x00001060</AsyncId>
</Trigger>
<!--AppliedApps target = "tuna" -->
<!-- Apps which be included for optimization -->
<!-- Package, MaxFPS -->
<!--App1></App1-->
<!--/AppliedApps-->
<AppliedApps>
<!-- Apps which be included for optimization -->
<!-- Package, MaxFPS -->
<App>com.tencent.tmgp.sgame, 120</App> <!-- HOK -->
<App>com.tencent.tmgp.pubgmhd, 120</App> <!-- GP -->
<App>com.tencent.tmgp.speedmobile, 120</App> <!-- QQSpeed -->
<App>com.tencent.tmgp.cod, 120</App> <!-- COD -->
</AppliedApps>
<PerCaseConfig target = "tuna" package = "120fps:com.tencent.tmgp.sgame;com.tencent.tmgp.pubgmhd">
<Freq_Drop_Bottom_ThresholdRatio>30</Freq_Drop_Bottom_ThresholdRatio>
</PerCaseConfig>
<PerCaseConfig package = "com.miHoYo.hkrpg">
<FPS_60_THRESHOLD>1.0, 5.0, 1.9, 0.0</FPS_60_THRESHOLD>
<PID_Parameters_Up>6, 1, 3, 20, 200, 0.5</PID_Parameters_Up>
<PID_Parameters_Down>6, 1, 3, 20, 200, 0.5</PID_Parameters_Down>
<SAMPLE_CALL_INTERVAL_MSEC>200</SAMPLE_CALL_INTERVAL_MSEC>
<Freq_Drop_Bottom_ThresholdRatio>40</Freq_Drop_Bottom_ThresholdRatio>
<FREQ_MAX_Enable>1, 1</FREQ_MAX_Enable>
<FREQ_MIN_Enable>1, 0</FREQ_MIN_Enable>
<!-- CPUBusy Control Config -->
<CPUBusy_Enable>1</CPUBusy_Enable>
<PID_Parameters_CPUBusy>2.7, 0.2, 0.6, 20, 200, 1</PID_Parameters_CPUBusy>
<CPUBusy_Target_Default>80, 80</CPUBusy_Target_Default>
</PerCaseConfig>
<PerCaseConfig package = "com.miHoYo.Yuanshen;com.miHoYo.GenshinImpact;com.miHoYo.ys.mi;com.miHoYo.ys.bilibili;com.miHoYo.yuanshencb">
<FPS_60_THRESHOLD>1.0, 5.0, 1.9, 0.0</FPS_60_THRESHOLD>
<PID_Parameters_Up>6, 1, 3, 20, 200, 0.5</PID_Parameters_Up>
<PID_Parameters_Down>12, 2, 6, 20, 400, 0.5</PID_Parameters_Down>
<SAMPLE_CALL_INTERVAL_MSEC>250</SAMPLE_CALL_INTERVAL_MSEC>
<Freq_Drop_Bottom_ThresholdRatio>50</Freq_Drop_Bottom_ThresholdRatio>
<FREQ_MAX_Enable>1, 1</FREQ_MAX_Enable>
<FREQ_MIN_Enable>0, 0</FREQ_MIN_Enable>
<GP_SYNC_DISABLE>1</GP_SYNC_DISABLE>
</PerCaseConfig>
<PerCaseConfig package = "com.kurogame.mingchao;com.kurogame.mingchao.beta">
<FPS_60_THRESHOLD>0.0, 5.0, 1.9, 0.0</FPS_60_THRESHOLD>
<PID_Parameters_Up>3, 0.5, 1.5, 20, 200, 0.5</PID_Parameters_Up>
<PID_Parameters_Down>12, 2, 6, 20, 400, 0.5</PID_Parameters_Down>
<SAMPLE_CALL_INTERVAL_MSEC>200</SAMPLE_CALL_INTERVAL_MSEC>
<Freq_Drop_Bottom_ThresholdRatio>70</Freq_Drop_Bottom_ThresholdRatio>
<FREQ_MAX_Enable>1, 1</FREQ_MAX_Enable>
<FREQ_MIN_Enable>1, 0</FREQ_MIN_Enable>
<!-- CPUBusy Control Config -->
<CPUBusy_Enable>1</CPUBusy_Enable>
<PID_Parameters_CPUBusy>2.7, 0.2, 0.6, 20, 200, 1</PID_Parameters_CPUBusy>
<CPUBusy_Target_Default>80, 85</CPUBusy_Target_Default>
</PerCaseConfig>
</Feature>