Subcore Root APK - In Subcore, different usage profiles are applied systematically using various sensor data from the device. Instead of relying on the CPU governor to make biased assumptions about the current workload, the goal is to find a balance based on the user's workload.
To determine which profile the device should be placed in, Subcore reads and writes numerous kernel files.
There are several interfaces available, including:
- Active CPU load
- Available CPU cores
- Available CPU governors
- Available CPU frequencies
- Available GPU load
- Available GPU frequencies
- Current battery capacity
- Battery state (charging / discharging)
- Screen state
- State Notifier (primary choice)
- Power Suspend (secondary choice)
- Framebuffer interface (tertiary choice)
- Available device memory
- Max device memory
- Available IO schedulers
- Block readahead
- Block swappiness
- Block cache pressure
- Block dirty rations
- Random entropy
- Block overcommit
- Block page cluster
- Block dirty centisecs
- Block LMK
- Block laptop mode
- Block KSM
- Uniquely Generated Interactive Tunables
During a loading scene, when the load requirement dips, a game could begin to lag without some form of user prediction. In order to prevent this, Subcore implements a user prediction algorithm that attempts to maintain fluidity in heavy applications, even during low load periods. In this method, repetitive load averages are determined, and sleep is prolonged when the load is consistently high.
Subcore has direct access to battery statistics because it is a low-level (but userspace) tool. If your screen is on (and you are charging), Subcore will boost your performance to the highest performing profile to ensure you have the best UI/UX, regardless of battery life. As a result, Subcore requires twice as much CPU load to enter the next profile when the device is at 15% or less battery. Subcore also locks the device into a low profile when the battery falls below 5%, optimizing it for deep sleep or idle, sacrificing some performance. The Subcore GUI app can be configured to disable power awareness by toggling the "Disable Power Aware" setting.
The RUPG concept is implemented in Subcore. Essentially all devices are compatible with Subcore, which makes it special. As Subcore runs, it gathers a huge amount of data to generate numerous device-specific profiles. In order to achieve the most efficient software experience for each device, these profiles are heavily optimized for each device. Subcore saves these profiles in memory and marks them for deletion when it exits. As an example, RUPG can be used to generate device-specific LMK offsets (minfree).