![]()
Input buffering is a short waiting line for your touches. When you tap the screen, the phone does not always hand that tap to the game at that exact instant. It holds the tap in a queue, then delivers it when the game is ready to read it. Done well, buffering means no tap is lost. Done badly, it makes a game feel mushy, late or strangely out of step with your thumb.
That matters most in games decided by timing. In a reaction duel, where the faster tap wins, a few milliseconds change the outcome. Below we explain how buffering works, where mobile lag really comes from, how developers tune it, and what you can do on your side.
TL;DR
- An input buffer is temporary storage that holds your taps until the game engine processes them, so actions are not lost when the game is busy.
- Lag is often a stack of small delays: the operating system batching touch events, display queues and frame timing, each worth roughly one frame.
- Too much buffering is a problem too: stale taps can be processed after they stopped being relevant.
- Reflex games need short buffers and fast flushing, so your reaction is judged against the moment you tapped.
- You can lower perceived lag with a few device habits, covered below.
Table of Contents
- What input buffering means
- Where tap delay comes from
- How much delay can you feel?
- The two sides of buffering
- How developers make touch feel instant
- What you can do as a player
- Why reflex games care the most
- Our perspective
- Try a reaction duel yourself
- Quick checklist for judging a game’s responsiveness
- FAQ
- Sources
What input buffering means
An input buffer is a temporary storage area that holds incoming data from an input device so the system can process it at its own pace. On a phone, the input device is the touchscreen and the data is your taps, swipes and holds.
The key idea is decoupling. A game is always busy: calculating logic, drawing frames, playing audio. Your finger does not wait for any of that. The buffer sits between the two, so a tap that arrives mid-calculation is queued in the order it happened instead of vanishing.
Think of it as a ticket line at a counter. The clerk serves one person at a time, but nobody who arrived is turned away. The line can also be a problem. If it grows long, the person at the front may have been waiting so long that what they wanted no longer applies.

Buffering you may be thinking of instead
If you searched this phrase after a video stalled, that is a different thing. Video buffering means the app is waiting for data from a server. Input buffering is local: it concerns your touches inside a game or app, and it has nothing to do with your internet speed. A game can have a perfect connection and still feel laggy because of how taps are handled on the device.
Where tap delay comes from
There is no single culprit. Latency between your finger and the screen response is the sum of several steps.
1. The operating system batches touch events
Most apps draw once per display refresh. Android’s own source documentation explains that because of this, an app can only respond to one input event per frame, so events that arrive within one refresh period are batched rather than delivered one by one.
The practical result: even on high-end phones, an input event can be delayed by one to two frames while the system waits for the next display update to deliver it. At 60Hz one frame lasts about 16.6ms, so you are talking roughly 16.6 to 33.3ms added before the game has even seen your tap.
2. Display queues
Smooth video needs a small queue of frames, and the same queue affects games. Android’s frame pacing documentation describes the problem of buffer stuffing: a game presents frames faster than the display consumes them, filling the display queue and forcing an extra frame of input latency, along with stuttering. The game looks like it is running fast but feels slower to control.
3. Sampling inputs once per frame
If a game reads input only once per frame, a tap that lands just after the read waits for the next one. On a game struggling to hold its frame rate, that wait gets longer. Frame drops and input delay feed each other.
4. Network and prediction, in online play
In real-time multiplayer, developers balance local responsiveness against server synchronization. If a game predicts too far ahead, it can drift from the server and need a rollback, resetting to the last known good state and re-simulating. Developers discussing this on GameDev.net note that rollbacks are taxing on mobile devices and can cause the frame drops that make lag worse, especially on older or mid-range phones.
How much delay can you feel?
Research on mobile interactive applications puts the threshold for imperceptible latency at about 96ms for indirect touch. Below that, most people do not feel a gap between action and response. Above it, controls start to feel late.

The same source frames this as a budget. If batching, display queues and processing each eat a slice, a well-built game claws time back wherever it can, so the whole chain stays comfortably under the line. In a reaction contest, you want to be far under it, because your opponent is racing the same clock.
Here is a rough picture at 60Hz, using the frame figures above:
| Source of delay | Typical cost at 60Hz | Who controls it |
|---|---|---|
| OS batching touch events to the display refresh | 1 to 2 frames, about 16.6 to 33.3ms | Game developer, partly |
| Display queue filled too fast (buffer stuffing) | 1 extra frame, about 16.6ms | Game developer |
| Input read once per frame | Up to 1 frame | Game developer |
| Device load, heat, background apps | Varies | You |
These are illustrative costs based on the frame durations in the sources, not measurements of any one phone or game. Your device and settings will differ.
The two sides of buffering
The benefit: no lost taps
Buffering protects intent. If the game is momentarily busy when you tap, the action is still registered. Developers of action games use short buffers on purpose, so a press made slightly too early still counts. One simple explanation describes an input buffer as a holding area that makes sure actions register even if they happen slightly before or after the game can use them, which is why it feels forgiving.
The cost: stale inputs
There is a flip side. If the buffer is allowed to grow, the game may process old inputs that no longer match the match state. A well-tuned engine flushes or clears the buffer often, keeping only recent, relevant actions, so what happens on screen matches your current reaction.
This is the central design decision for a reflex game. A fighting or platform game may want a generous buffer so combos feel easy. A duel decided by who taps first wants the opposite: a buffer small enough that no tap is lost, and fresh enough that no tap is judged late.
The middle path: a tiny window
Some games use a deliberately short buffer to read two near-simultaneous taps correctly. One mobile developer describes a 50ms buffer window that lets the game wait briefly for a second tap so both register as simultaneous, which gives the feel of a precise physical button press on a glass screen. The trade-off is plain: every millisecond of waiting is a millisecond added, so the window has to stay tiny.
How developers make touch feel instant
If you are curious how the best mobile games keep controls crisp, these are the common techniques.
- Flush input immediately. The Godot engine team describes agile input processing, a setting that delivers input events right away instead of waiting for the next render frame. It helps most on lower-end devices that struggle to hold a steady frame rate.
- Read input faster than the frame rate. Games that read the input buffer more often than they draw can bypass the one-to-two-frame wait imposed by display-synchronized delivery.
- Pace frames properly. Matching the game’s render loop to the display avoids buffer stuffing and the extra frame of delay it adds.
- Keep buffers short and flush stale input. Old taps should expire rather than replay.
- Balance prediction with the server. Predict enough to feel responsive, not so far that rollbacks cause stutter.
Developers also run into hardware variation. A Unity developer building a rhythm game, for example, described struggling with Android touch delay while testing on a single phone model. Touch latency really does differ from one device to the next, which is why a game that feels perfect on one phone can feel slightly off on another.
What you can do as a player
You cannot change a game’s code, but you can remove the things that add delay on your side.
- Close background apps. Less load means steadier frames, and steadier frames mean fewer delayed reads of your taps.
- Let the phone cool. Heat can lower performance. If a game suddenly feels heavy after a long session, a short break helps.
- Update the game and your system software. Both can include input and performance fixes.
- Remove thick screen protectors or dirty screens if taps seem to miss. This is about touch detection rather than buffering, but it is easy to fix.
- Test with a stable connection for online duels. Network delay is separate from input buffering, but it adds to the feeling of lateness.
- Lower graphics settings if the game offers them. A steadier frame rate usually means more responsive input.
- Tap with intent. Quick, clean taps beat rapid mashing. In a duel, one well-timed tap is worth more than five late ones.
If controls still feel off, try the same game on a second device. If it feels fine there, the cause is likely the first phone’s load or hardware, not the game.
Why reflex games care the most
In Vladers, each round is a reaction duel: you tap faster than your opponent to win possession, then build your attack and create scoring chances. A game like that lives or dies on how fairly it treats the moment of your tap.
Three principles follow from everything above, and they are the standard we hold ourselves to as players and designers:
- Your tap should be judged as early as the device allows. Every frame added between finger and game is a frame of your reaction time spent.
- Old taps should not count twice or late. A reflex duel only makes sense if the action on screen reflects what you just did.
- Skill should decide the round. Squad choice, formation and card abilities are strategy you control. Input handling should be invisible, so strategy and timing are what you feel.
Our perspective
We build and play Vladers because we love the moment two players reach for the same ball. A tap duel is simple to explain: be faster. But the closer you look, the more you see that fast depends on the whole chain, from your thumb to the phone to the game and back to your eyes.
That is why we think about reaction speed as a shared responsibility. The game should keep its controls simple, with plain tap input and no complicated gestures, so there is little between you and the result. You should bring a squad that suits your style, because card stats, formations, special actions and special powers all shape what a won possession is worth.
We also think fast matches should stay fair across different phones. Reflex games are played by people on everything from new flagships to older devices, and the lessons from the developer community are clear: short buffers, immediate input handling and steady frame pacing help every player, not just those with premium hardware.
So when someone tells us a tap felt late, we do not dismiss it. We ask what device they use, whether it was running hot, whether they were on Wi-Fi, and which mode they were in. Often the answer sits in the chain of small delays this article describes. That is the kind of detail that makes a fast game feel fair, and it is the part of design players rarely see but always feel.
— Julien
Try a reaction duel yourself
If you want to feel how timing and strategy mix, Vladers is a free-to-play mobile football collectible card game. You open packs to collect fictional footballers from original clubs, build a four-card squad with an attacker, midfielder, defender and goalkeeper, pick a formation, and play real-time matches where the faster tap wins possession. It is available in English, French and Spanish. You can find out more about Vladers and its game modes, from live PvP in the Vladers League to Weekly Clash and Story Mode.
Quick checklist for judging a game’s responsiveness
When you try any timing-based mobile game, a few simple tests tell you a lot.
- Tap once, watch the response. The reaction should look immediate, with no visible pause.
- Tap twice quickly. Both taps should register in order. If one disappears, the game may be dropping input.
- Watch for stutter. If visuals hitch, input is likely delayed too.
- Compare modes. If solo play feels crisp and online play feels late, the cause may be network conditions rather than input handling.
- Compare devices. A second phone separates device issues from game issues.
None of these is a lab measurement. They are quick ways to build a feel for what your phone and your game are doing.
FAQ
What is input buffering?
Input buffering is the temporary storage of your actions, such as screen taps, before a game processes them. It keeps inputs from being lost when the game is busy and queues them in the order they happened. The queue should stay short so it does not deliver outdated actions.
Is input buffering the same as video buffering?
No. Video buffering means an app is waiting for data from a server. Input buffering happens on your device and concerns how touches reach the game. A fast internet connection fixes the first kind of waiting but does not change the second.
Why do my taps feel delayed even on a fast phone?
The system often batches touch events to match the display refresh, which can add one to two frames of delay even on high-end hardware. A game that presents frames too fast can add another frame through buffer stuffing. Developers can reduce both with better input handling and frame pacing.
How much delay can players actually notice?
Research on mobile interactive applications points to roughly 96ms for indirect touch as the threshold for imperceptible latency. Competitive players often feel smaller gaps because they are comparing their timing against an opponent.
Can I fix input lag myself?
You can reduce the part you control. Close background apps, let a hot phone cool down, update the game and your system, and use a stable connection for online play. If lag remains, try another device to see whether the game or the phone is responsible.
Sources
- What is an input buffer? (Lenovo glossary)
- Frame Pacing library (Android Developers)
- Batched consumption of input events (Android source documentation)
- Mobile interactive application latency research (ACM MMSys 2017)
- Agile input processing (Godot Engine)
- Input buffering (CatEncode)
- Simultaneous Inputs & Button Timing Buffering for Mobile (Mega Cat Studios)
- Rollback Prediction Management (GameDev.net Forums)
- Android Latency Problem (Unity Discussions)
