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.

📊 Have you ever optimized hidden Android settings?
Yes, via ADB
Yes, using a custom kernel
No, I'm afraid of breaking the phone
I didn't know that this was possible

How does the processor buffer affect performance

The size of the buffer is directly related to three key aspects of the smartphone:

  1. 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,
  2. 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+).
  3. 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:

  1. Linux kernel (/sys/devices/system/cpu) - here are the files cpufreq/ and cpuidle/, responsible for frequencies and idle states.
  2. Scheduler configuration (/proc/sys/kernel/) - for example, the file sched_latency_ns defines the delay of the scheduler.

On most smartphones, these parameters are locked, but they can be changed:

  • 🔧 Via ADB (without root): commands setprop or echo v /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 InformationCPU 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):

ChipsetGaming (high responsiveness)Multi-task (balance)Battery saving
Snapdragon 8 Gen 2/3128–19296–12864
Dimensity 9000/9200192–256128–16080
Exynos 2200/2400160–22412864–96
Snapdragon 778G/780G96–12864–9648
Helio G99/G961289664

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:

  1. DevCheck or CPU Monitor —check core loading in real time.
  2. GameBench —analyzes FPS and delays in games.
  3. ADB log:
    adb logcat | grep -i "sched"

    Look for lines with missed deadline or buffer 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:

  1. Open the command line (Windows) or terminal (macOS/Linux) and enter:
    adb devices

    Make sure that your smartphone is displayed in the list.

  2. Check the current buffer size:
    adb shell cat /sys/devices/system/cpu/cpu*/cpufreq/input_boost_ms
  3. 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"
  4. 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/sh

for 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:

  1. Start with minimal changes (for example, increase the buffer by 20-30% of the standard value).
  2. Use ThrottleStop (for Windows) or Kernel Auditor (Android) to monitor temperature.
  3. 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:

  1. 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%.
  2. 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.

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.