Need help with perfd-opt?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.

About the developer

yc9559
156 Stars 10 Forks GNU General Public License v3.0 25 Commits 3 Opened issues

Description

Push the trade-off between fluency and power saving even further via QTI Boost Framework

Services available

!
?

Need anything else?

Contributors list

# 189,959
Shell
Python
C++
25 commits

Perfd opt

The previous Project WIPE, automatically adjust the

interactive
parameters via simulation and heuristic optimization algorithms, and working on all mainstream devices which use
interactive
as default governor. The recent WIPE v2, improved simulation supports more features of the kernel and focuses on rendering performance requirements, automatically adjusting the
interactive
+
HMP
+
input boost
parameters. However, after the EAS is merged into the mainline, the simulation difficulty of auto-tuning depends on raise. It is difficult to simulate the logic of the EAS scheduler. In addition, EAS is designed to avoid parameterization at the beginning of design, so for example, the adjustment of schedutil has no obvious effect.

WIPE v2 focuses on meeting performance requirements when interacting with APP, while reducing non-interactive lag weights, pushing the trade-off between fluency and power saving even further.

QTI Boost Framework
, which must be disabled before applying optimization, is able to dynamically override parameters based on perf hint. This project utilizes
QTI Boost Framework
and extends the ability of override custom parameters. When launching APPs or scrolling the screen, applying more aggressive parameters to improve response at an acceptable power penalty. When there is no interaction, use conservative parameters, use small core clusters as much as possible, and run at a higher energy efficiency OPP under heavy load.

Details see the lead project & perfd-opt commits

Profiles

  • powersave: based on balance mode, but with lower max frequency
  • balance: smoother than the stock config with lower power consumption
  • performance: dynamic stune boost = 30 with no frequency limitation
  • fast: providing stable performance capacity considering the TDP limitation of device chassis
sdm865
- powersave:    1.8+1.6+2.4g, boost 1.8+2.0+2.6g, min 0.3+0.7+1.1
- balance:      1.8+2.0+2.6g, boost 1.8+2.4+2.7g, min 0.7+0.7+1.1
- performance:  1.8+2.4+2.8g, boost 1.8+2.4+2.8g, min 0.7+0.7+1.1
- fast:         1.8+2.0+2.7g, boost 1.8+2.4+2.8g, min 0.7+1.2+1.2

sdm855/sdm855+

  • powersave: 1.7+1.6+2.4g, boost 1.7+2.0+2.6g, min 0.3+0.7+0.8
  • balance: 1.7+2.0+2.6g, boost 1.7+2.4+2.7g, min 0.5+0.7+0.8
  • performance: 1.7+2.4+2.8g, boost 1.7+2.4+2.8/2.9g, min 0.5+0.7+0.8
  • fast: 1.7+2.0+2.7g, boost 1.7+2.4+2.8/2.9g, min 0.5+1.2+1.2

sdm845

  • powersave: 1.7+2.0g, boost 1.7+2.4g, min 0.3+0.3
  • balance: 1.7+2.4g, boost 1.7+2.7g, min 0.5+0.8
  • performance: 1.7+2.8g, boost 1.7+2.8g, min 0.5+0.8
  • fast: 1.7+2.4g, boost 1.7+2.8g, min 0.5+1.6

sdm765/sdm765g

  • powersave: 1.8+1.7+2.0g, boost 1.8+2.0+2.2g, min 0.3+0.6+0.8
  • balance: 1.8+2.0+2.2g, boost 1.8+2.2+2.3/2.4g, min 0.5+0.6+0.6
  • performance: 1.8+2.2+2.3g, boost 1.8+2.2+2.3/2.4g, min 0.5+0.6+0.8
  • fast: 1.8+2.0+2.2g, boost 1.8+2.2+2.3/2.4g, min 0.5+1.1+1.4

sdm730/sdm730g

  • powersave: 1.7+1.5g, boost 1.7+1.9g, min 0.3+0.3
  • balance: 1.7+1.9g, boost 1.7+2.1g, min 0.5+0.6
  • performance: 1.8+2.2g, boost 1.8+2.2g, min 0.5+0.6
  • fast: 1.8+1.9g, boost 1.8+2.2g, min 0.5+1.2

sdm675

  • powersave: 1.7+1.5g, boost 1.7+1.7g, min 0.3+0.3
  • balance: 1.7+1.7g, boost 1.7+1.9g, min 0.5+0.6
  • performance: 1.8+2.0g, boost 1.8+2.0g, min 0.5+0.6
  • fast: 1.8+1.7g, boost 1.8+2.0g, min 0.5+1.2

sdm710/sdm712

  • powersave: 1.7+1.8g, boost 1.7+2.0g, min 0.3+0.3
  • balance: 1.7+2.0g, boost 1.7+2.2/2.3g, min 0.5+0.6
  • performance: 1.7+2.2g, boost 1.7+2.2/2.3g, min 0.5+0.6
  • fast: 1.7+2.0g, boost 1.7+2.2/2.3g, min 0.5+1.5

Requirements

  1. Android >= 8.0
  2. Rooted
  3. Magisk >= 19.0

Installation

  1. Download zip in Release Page
  2. Flash in Magisk manager
  3. Reboot
  4. Check whether
    /sdcard/Android/panel_powercfg.txt
    exists

Switch modes

Switching on boot

  1. Open
    /sdcard/Android/panel_powercfg.txt
  2. Edit line
    default_mode=balance
    , where
    balance
    is the default mode applied at boot
  3. Reboot

Switching after boot

Option 1:
Exec

sh /data/powercfg.sh balance
, where
balance
is the mode you want to switch.

Option 2:
Install vtools and bind APPs to power mode.

Credit

@屁屁痒
provide /vendor/etc & sched tunables on Snapdragon 845

@林北蓋唱秋 provide /vendor/etc on Snapdragon 675

@酪安小煸 provide /vendor/etc on Snapdragon 710

@沉迷学习日渐膨胀的小学僧 help testing on Snapdragon 855

@NeonXeon provide information about dynamic stune

@rfigo provide information about dynamic stune

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.