An open API service indexing awesome lists of open source software.

https://github.com/adivenxnataly/PerfGame

Enable custom resolution & frame-rate mechanism for your games.
https://github.com/adivenxnataly/PerfGame

game magisk magisk-module tools

Last synced: 4 months ago
JSON representation

Enable custom resolution & frame-rate mechanism for your games.

Awesome Lists containing this project

README

          

## PerfGame
[![Releases](https://img.shields.io/github/v/release/adivenxnataly/PerfGame?color=green&label=Release&logo=github)](https://github.com/adivenxnataly/PerfGame/releases) [![License](https://img.shields.io/github/license/adivenxnataly/PerfGame?color=red&label=License)](https://github.com/adivenxnataly/PerfGame/blob/main/LICENSE)

![banner](https://github.com/adivenxnataly/PerfGame/blob/main/assets/perfbanner.jpg)
PerfGame is a module that implements **Game Interventions**.

What is Game Interventions?

Game Mode interventions are game-specific optimizations set by original equipment manufacturers (OEMs) to improve the performance of games that are no longer being updated by developers.


> it runs using WindowManager backbuffer size or using ANGLE instead of native GLES drivers (if device support).

**WindowManager backbuffer resizing**

The WindowManager backbuffer resize intervention can **reduce a device's GPU load**. It can also reduce battery consumption when a game is paced at a target frame rate.
Enabling resize can result in a reduction of up to 30% of GPU and 10% of overall system power usage. The results can vary based on the device used, environmental conditions, and other factors, such as simultaneous processing.
An unpaced game that is GPU bound is likely to experience higher frame rates during reduced GPU loads.
We strongly recommend that all games are well paced, because uneven frame rates significantly impact how users perceive performance.


> The interventions are available in Android 12.

**FPS Throttling**

Android FPS throttling is a Game Mode intervention that helps games run at a more stable frame rate in order to reduce battery consumption.


> The Interventions are available in Android 13.

>[!important]
> This requires at least Android 12 (API 31) and ARM devices.

## How to use?
This module is based on **WebUI** (KernelSU), but support Magisk with [KsuWebUI](https://github.com/adivenxnataly/KsuWebUI).
- after reboot, you just need to enter the KSU/WebUI application, and select the `PerfGame` module and you will enter the game configuration display :

### PerfGame
#### Main Function
- **Global Mode**:

🔴 Performance (default)

🟢 Balance

🟠 Saver

> [!warning]
> for now, Global Mode is only implemented for Mediatek devices (I would really appreciate it if anyone would like to contribute to implementing this for other vendors).
- **Game-Specific Mode**:

🔵 **Resolution**: 30-100%

🔵 **FPS**: 30-120

> [!note]
> FPS is only change WindowManager backbuffer not in-game fps setting, customize based on game.

> I also added icon for resolution used by Games

> only support `Unity-based` games.

#### Advance Settings
In version [2.0](https://github.com/adivenxnataly/PerfGame/releases/download/2.0-release) I added a multi-function bar for gaming helpers, such as:
- **Edit Packages**: for easier addition/removal of packages.
- **Disabling VSYNC**: this function allows to ensure VSYNC is turned off.
- **Display style**:


> this changes how the screen uses color tones

>
- **Color adjustment**:


> change saturation for visual enhancement

>

### How for not supported games?
you can use manual step to adding `packagename` with click bar button on right bottom!

> [!note]
> unsupported packages will not display the app icon and resolution icon (which should be configured from my module), note that this doesn't affect their general functionality.
### Source, etc.
- [Game Interventions](https://developer.android.com/games/optimize/adpf/gamemode/gamemode-interventions)

- [FPS Throttling](https://developer.android.com/games/optimize/adpf/gamemode/fps-throttling)

- [Module WebUI](https://kernelsu.org/guide/module-webui.html)