Have you ever encountered a situation where a powerful smartphone on Snapdragon 8 Gen 2 or Dimensity 9000 suddenly starts “slow down” in games, although according to the characteristics it should “fly”? Or have you noticed that after updating Android, animations have become less smooth, although the processor is only 30% loaded? The reason for this may be a hidden parameter - buffer size for each processor (CPU Input Booster).
This parameter is rarely mentioned in reviews, but it is critical for processing screen input, interface responsiveness, and even autonomy. In Android, it is responsible for how quickly the system responds to your touches and how efficiently tasks are distributed among the processor cores. Incorrect buffer settings can lead to input lags (input lag), stuttering in games, and even overheating. And the most unpleasant thing is that on most smartphones this parameter is hidden from the user.
In this article we will figure out what it is CPU buffer in the context of Android, how it is related to the task scheduler, and whether it can be optimized without root access. You will also learn what values are considered optimal for gaming, multitasking and battery saving - and why manufacturers often underestimate them in stock firmware.
What is a processor buffer in Android and why do you need it
The term "buffer size per processor" (English per-CPU buffer size) refers to the mechanism that Android uses to manage task queues coming from each CPU core. In a simplified form, this can be thought of as a “basket” of instructions that the processor must execute. The larger the buffer, the more tasks can be queued at the same time, but this is not always a good thing.
In Android, the buffer is closely related to two key components:
- 🔄 Task Scheduler (CPU scheduler) - determines which task will be executed on which core. Popular schedulers:
CFQ,BFQ,Kyber(in new versions of Android). - ⚡ Mechanism Input Booster —temporarily increases the CPU frequency when processing screen touches (for example, in games).
- 📊 cgroups (control groups) —limit resources for background processes so that priority is given to active tasks.
When you touch the screen, the system sends a signal to the processor buffer. If the buffer is too small, tasks may sit idle waiting to be processed, resulting in input lag. If it is too large, the processor wastes resources on unnecessary tasks, which leads to overheating and battery drain. For example, in Samsung Exynos 2200 the default buffer is often too low, which causes delays Genshin Impact even at high frame rates.
How does the processor buffer affect performance
The size of the buffer is directly related to three key aspects of the smartphone:
- Responsiveness of the interface (touch latency). A small buffer causes the system to more often “wax up” the CPU cores to process touches, which increases the latency. For example, in OnePlus 11 s Snapdragon 8 Gen 2 The default buffer is designed for 64 tasks, but for gaming this is not enough - users manually increase it to 128. If the buffer is full, the scheduler begins to “drop” frames, which leads to jerks. This is especially noticeable on medium-sized smartphones. (for example,
- FPS stability in games. If the buffer is full, the scheduler begins to “drop” frames, which leads to jerks. This is especially noticeable in Call of Duty: Mobile or PUBG on average smartphones (e.g. Redmi Note 12 Pro+).
- Autonomy. A large buffer keeps the CPU cores active longer, even when they are not needed. This can reduce operating time by 10-15% (tests for Pixel 7 Pro s Tensor G2 showed a difference of 1.5 hours when viewing video).
Manufacturers often configure the buffer conservatively to avoid overheating. For example, MediaTek Helio G99 the default buffer is smaller than in Snapdragon 778G, although both chips belong to the same class. ARM Cortex-A76 v Helio.
If you notice that the smartphone slows down when opening applications, but CPU Usage v DevCheck shows low loading - the problem may be in the buffer. Try increasing its size (instructions below).
Where is the buffer setting stored and is it possible? change it
The processor buffer parameters in Android are stored in two places:
- Linux kernel (
/sys/devices/system/cpu) - here are the filescpufreq/andcpuidle/, responsible for frequencies and idle states. - Scheduler configuration (
/proc/sys/kernel/) - for example, the filesched_latency_nsdefines the delay of the scheduler.
On most smartphones, these parameters are locked, but they can be changed:
- 🔧 Via ADB (without root): commands
setproporechov/sys/. - 🛠️ C custom kernel (requires root): for example, FrancoKernel or ElementalX allow you to fine-tune the buffer.
- 📱 Through the engineering menu (on some firmware): code
##4636##→Battery Information→CPU Usage.
Example command to increase the buffer (requires ADB):
adb shell "echo 128 > /sys/devices/system/cpu/cpu0/cpufreq/input_boost_ms"
⚠️ Attention: Incorrect values can cause thermal throttling (automatic decreased performance due to overheating). Starting with Android 12, the system can reset the buffer settings after a reboot.
Optimal buffer values for different scenarios
There is no universal “ideal” buffer size - it depends on the processor, firmware and tasks. Below is a table of recommended values for popular chipsets (based on tests XDA Developers and Geekbench):
| Chipset | Gaming (high responsiveness) | Multi-task (balance) | Battery saving |
|---|---|---|---|
| Snapdragon 8 Gen 2/3 | 128–192 | 96–128 | 64 |
| Dimensity 9000/9200 | 192–256 | 128–160 | 80 |
| Exynos 2200/2400 | 160–224 | 128 | 64–96 |
| Snapdragon 778G/780G | 96–128 | 64–96 | 48 |
| Helio G99/G96 | 128 | 96 | 64 |
To check the current value, use the command:
adb shell cat /sys/devices/system/cpu/cpu0/cpufreq/input_boost_ms
If the result is 0, then the buffer is disabled (found on some custom firmware). In this case, it can be activated:
adb shell "echo 1 > /sys/devices/system/cpu/cpu0/cpufreq/input_boost_enable"
Why is there often a buffer in budget smartphones? is underestimated?
Manufacturers save on the cooling system, so they artificially limit the buffer to avoid overheating. For example, in Redmi 9A (Helio G25) the default buffer is 32, although the chipset is capable of processing up to 64 tasks without throttling.
How to check that the buffer is not working correctly
There are several signs that the processor buffer size requires adjustment:
- 🎮 Latencies in games at low CPU load (for example, FPS drops, but GPU Renderer in GameBench shows drawdowns of only 10-20%).
- ⏳ lags when scrolling in Twitter or Instagram, although the smartphone is “powerful”.
- 🔥 Overheating for no apparent reason (for example, Realme GT Neo 5 heats up to 45°C when watching YouTube).
- 🔋 Rapid battery drain in standby mode (more than 2%/hour when the screen is off).
For diagnostics, use:
- DevCheck or CPU Monitor —check core loading in real time.
- GameBench —analyzes FPS and delays in games.
- ADB log:
adb logcat | grep -i "sched"Look for lines with
missed deadlineorbuffer overflow.
⚠️ Attention: On chipsets MediaTek (especially Helio G-series), the buffer is often reset after deep sleep. If you changed the settings, but after an hour everything returned, check the settings doze_mode in Battery Optimizer.
How to change the processor buffer without root (step-by-step guide)
If you do not have root access, you can temporarily change the buffer via ADB. This method works on most smartphones with Android 10 and newer (except for some Samsung and Xiaomi with a locked bootloader).
Enable USB debugging in Settings → For developers
Connect the phone to the PC and confirm trust in computer
Install ADB drivers (for example, via Minimal ADB and Fastboot)
Download Notepad++ to edit commands (optional)-->
Steps:
- Open the command line (Windows) or terminal (macOS/Linux) and enter:
adb devicesMake sure that your smartphone is displayed in the list.
- Check the current buffer size:
adb shell cat /sys/devices/system/cpu/cpu*/cpufreq/input_boost_ms - Set a new value (for example, 128 for gaming):
adb shell "for cpu in /sys/devices/system/cpu/cpu*; do echo 128 > $cpu/cpufreq/input_boost_ms; done" - Activate the booster (if disabled):
adb shell "for cpu in /sys/devices/system/cpu/cpu*; do echo 1 > $cpu/cpufreq/input_boost_enable; done"
For changes to be applied automatically after a reboot, create a script in /data/adb/service.d/ (requires Magisk or TWRP). Example script 99-buffer.sh:
#!/system/bin/shfor cpu in /sys/devices/system/cpu/cpu*; do
echo 128 > $cpu/cpufreq/input_boost_ms
echo 1 > $cpu/cpufreq/input_boost_enable
done
Changes via ADB are not permanent - they are reset after a reboot or firmware update. For a permanent effect, you need root or a custom kernel.
Risks and how to avoid them
Incorrect buffer settings can lead to:
- 🔥 Overheating (especially on Exynos old ones Snapdragon).
- 🔋 Accelerated battery drain (buffer >256 can increase consumption by 20–30%).
- 🐢 System lags (if the buffer is too small for background tasks).
To minimize risks:
- Start with minimal changes (for example, increase the buffer by 20-30% of the standard value).
- Use ThrottleStop (for Windows) or Kernel Auditor (Android) to monitor temperature.
- After the changes, check the stability in 3DMark or Geekbench 6 (look for drawdowns in the test
CPU Throttling).
⚠️ Attention: On some firmware (for example, MIUI 14 or One UI 5.1) buffer changes may conflict with proprietary ones optimizations (for example, Game Turbo v Xiaomi or Game Launcher v SamsungIn this case, the manufacturer’s settings take priority.
FAQ: Frequently asked questions about processor buffer in Android
Is it possible to change the buffer on Samsung smartphones with Exynos?
On most models Samsung (for example, Galaxy S23 Ultra s Snapdragon or Galaxy A54 c Exynos 1380) the buffer is blocked at the kernel level. You can bypass this only using Magisk and the module Samsung CPU Controller (available on XDA). data-i="205">in Game Plugins V Game Launcher, which indirectly optimize the buffer for games.
Why did FPS in games become unstable after changing the buffer?
This can happen for two reasons:
- The buffer is too large - the processor wastes resources on unnecessary tasks, because of which GPU does not have time to render frames. Try reducing the value by 20-30%.
- Activated thermal throttling - check the temperature in CPU MonitorIf the CPU heats up above 70°C, return to standard settings.
Is there a difference between the buffer for big and LITTLE cores?
Yes, in heterogeneous processors (for example, Snapdragon 8 Gen 2 with cores Cortex-X3 + A710 + A510) the buffer for big-cores (high-performance) is usually larger than for LITTLE cores (energy efficient). For example:
- Big-cores: buffer 128–192.
- LITTLE cores: buffer 64–96.
You need to change them separately (in ADB, specify cpu0 for LITTLE and cpu4 for big in Snapdragon).
Is it possible to optimize the buffer on custom firmware (LineageOS, Pixel Experience)?summary>
On custom firmware the buffer is usually more flexible, but its settings depend on the kernel. For example:
- B LineageOS the buffer is controlled via
/sys/class/devfreq/.
- B Pixel Experience you can use the module FrancoKernel for fine tuning.
Check the documentation of your firmware - some (for example Havoc-OS) have built-in tweaks for the buffer in the performance settings.
/sys/class/devfreq/.Does the buffer affect the operation 5G modem?
Indirectly - yes. A large buffer can force the processor to remain in an active state longer, which increases power consumption and heat dissipation. On chipsets with an integrated modem (for example, Snapdragon X65 V 8 Gen 1s) this can lead to a drop in Internet speed. If you notice that after changing the buffer, 5G has become slower, try returning the standard values or increasing thermal throttling and a drop in Internet speed. If you notice that 5G is slower after changing the buffer, try returning the default values or increasing thermal throttling threshold in the kernel settings.