Home Features Compatibility Install Downloads FAQ About GitHub ↗ Telegram ↗
Latest: Loading…

AniOptimizer

A native C gaming daemon for Android. Eliminates stutter, jank, and thermal throttle — in real time, without scripts or overhead.

5·0
Current Version
arm64
Architecture
5ms
Reaction Time
0
Shell Calls
Features

Built for real gaming performance

Every subsystem is hand-tuned in C — no JVM overhead, no shell forks, no polling scripts. Just a tight daemon that reacts in milliseconds.

🧠
Adaptive FSM
5-state optimisation engine (SAFE → LOW → BALANCED → PERFORMANCE → TURBO) with hysteresis and dwell timers to prevent thrashing.
🌡️
Predictive Thermal
Dual EMA smoothing reads all thermal zones and predicts temperature 5–10 seconds ahead — pre-cools before throttle ever hits.
🎯
Frame-Pacing Monitor
Per-TID frame budget tracking via /proc schedstat. Detects overruns without a single shell call or extra spawned process.
📚
Per-Game Learning
Builds a persistent EMA profile per package across sessions. The daemon learns your games and improves automatically over time.
CPU + GPU Control
Sets governor, uclamp min/max, affinity masks per-TID, and Adreno GPU power levels — all via direct sysfs writes.
🛡️
Safety Guard
Tracks a stability score and enforces safe mode on crash or hard-temp breach. Protected system processes are never touched.
Compatibility

What does it run on?

Tested across all major Android SoC families. If your device is rooted and on Android 10+, AniOptimizer will work.

🔴
Qualcomm Snapdragon
SD 845 and newer
Full CPU + Adreno GPU control
uclamp & schedutil tuning
🟢
MediaTek Dimensity
Dimensity 700 and newer
CPU governor + Mali GPU
Thermal zone aware
🔵
Samsung Exynos
Exynos 990 and newer
ExynosCore scheduling
Mali GPU power levels
🟡
Google Tensor
Tensor G1 and newer
Pixel-specific sysfs paths
Fully supported

System Requirements

Android101112131415
RootMagiskKernelSUAPatch
Architecturearm64-v8aarm32x86
Module typeMagisk Module
Installation

Up and running in minutes

AniOptimizer ships as a standard Magisk module. No manual setup, no editing config files — flash and reboot.

01
Ensure root access
Your device must be rooted with Magisk, KernelSU, or APatch. AniOptimizer requires root to write sysfs nodes at runtime.
02
Download the module
Grab the latest .zip from the Downloads section. Always use the latest stable build.
03
Flash via Magisk / KSU
Open Magisk Manager → Modules → Install from storage → select the zip. Or use the KernelSU / APatch equivalent.
# Alternative — flash from TWRP recovery
Install zip → AniOptimizer-vX.X.zip
04
Reboot & verify
Reboot your device. The daemon starts automatically on boot. No further config needed — AniOptimizer tunes itself per game.
# Confirm daemon is running
logcat -s AniOptimizer
# Or check the module log
cat /data/adb/modules/anioptimizer/logs/daemon.log
Downloads

Latest releases

All builds are fetched live from the server. Stable builds are recommended for all users; beta and alpha are for testers.

Loading releases…
Fetching from server.
FAQ

Common questions

Have a question not listed here? Reach out on Telegram.

Does AniOptimizer drain more battery?
No. The daemon is event-driven and sleeps between decisions. CPU usage is typically under 0.2% and it only scales up hardware resources when the game actually needs them.
Will it work on my custom kernel?
Yes, as long as the kernel exposes standard sysfs nodes for the CPU governor and thermal zones. Most custom kernels (ElementalX, Kirisakura, Sultan, etc.) do.
Does it conflict with Game Mode / MIUI Turbo / etc.?
AniOptimizer writes to the same sysfs nodes as OEM game modes but takes priority during gameplay. It's recommended to disable OEM game-enhancement features to avoid conflicts.
Is Magisk/KSU required?
Yes. The daemon must run as root to write sysfs performance nodes. It is packaged as a Magisk module for clean system-less installation and easy removal.
How do I uninstall?
Disable or remove the module through Magisk Manager and reboot. All sysfs changes are ephemeral and reset on reboot automatically.
Why is it closed source?
Because the moment something goes open source in this space, someone rebrands it, slaps a new name on it, and starts pushing it as their own happened to plenty of other modules. If you think that makes me overprotective over my work, then yeah, I am. I built this, I maintain it, and I decide what happens to it.
About

Built different

Started life as a janky shell script that set the governor and called it a day. Rewrote it in C when the script overhead became the bottleneck. Been growing since.

Changelog
Loading…
Fetching release history.
Project Info
Authormrk
LanguageC (native)
TargetAndroid 10–15
LicenseProprietary
Latest