Why does my iPhone keyboard’s RGB lighting look choppy?
A continuous backlight effect on a phone keyboard is never going to move as smoothly as a wave rolling across a desktop RGB board, and the reason is not a bug — it is what a keyboard extension is allowed to spend on animation at all.
A colour wave rolling across a desktop mechanical keyboard, or a light show in a game, moves in one continuous sweep. Turn on a continuous backlight effect on a phone keyboard and it is visibly less fluid — a little steppy, a little behind what the same idea would look like on a bigger screen. It reads like something is struggling to keep up. Nothing is. A keyboard extension is a different category of software from either of those, with a much smaller budget to spend on animation, and the choppiness is the direct, deliberate result of that budget rather than a sign anything is wrong.
A keyboard extension is a guest, not the app in charge
A keyboard extension runs inside a far tighter memory and CPU budget than an ordinary app — tens of megabytes rather than hundreds — because iOS treats it as a small helper attached to whatever app you are actually using, not as the thing your phone is fully dedicated to running. A game gets to assume it owns the screen and the processor for as long as it is open. A keyboard extension never gets to assume that: it shares the moment with Messages, Instagram, Mail or whatever app called it up, and it has to stay small enough that iOS never has a reason to shut it down mid-sentence for using more than its share.
Why continuous effects settle for one modest, shared frame rate
Redrawing an animation more often costs more CPU and battery per second it runs, and a continuous effect — unlike a reactive one — is committed to running the whole time the keyboard is on screen, not just in a brief burst after a keypress. Rather than let each continuous effect chase a high frame rate independently and compete for the same limited slice of processor time, the practical answer is one shared animation timer running at a fixed, modest rate that every continuous effect draws from together. It is a predictable, bounded cost regardless of how many effects exist or which one is currently selected, and predictable is what matters inside a budget this tight — a keyboard that occasionally spikes past its limit is a keyboard iOS can decide to kill.
What a desktop RGB keyboard is doing that a phone cannot
A physical mechanical keyboard with per-key RGB has its own small dedicated chip whose only job is driving those lights, usually with its own power delivery separate from whatever the connected computer is doing at that moment. It never has to share that chip with a web browser, a spreadsheet or a video call — lighting is the entire job, running independently, all the time. A phone’s keyboard extension has no equivalent dedicated hardware. It is borrowed time on the same processor and the same memory pool as the app you are typing into, handed out in a much smaller allowance, and the smoother motion a dedicated lighting chip can afford simply is not an option inside that allowance.
Reactive effects do not have the same problem
A reactive effect — a glow blooming under the key you just pressed, a ring pushing outward from it — draws for a brief moment and then stops, so there is no sustained motion for a viewer to judge as smooth or choppy in the first place. The shared, modest timer still applies to it technically, but a burst that lasts a fraction of a second reads as instant regardless of the exact frame rate behind it. Choppiness is something you only notice in motion that is supposed to keep going, which is exactly the category continuous effects belong to and reactive ones do not.
How to tell this apart from an actual problem
- A continuous effect that looks a little steppy the whole time it runs, consistently, on every use → this page. Expected behaviour, not a fault.
- A keyboard that freezes, stutters unpredictably, or closes and reopens on its own → a different issue, usually memory pressure from something else competing for the same tight budget, covered in the guide on a slow-to-load keyboard.
- Sound that lags or stutters alongside the lighting → the same shared-budget story, from the audio side, covered in the keyboard sound delay guide.
Where Kibo fits
Kibo’s continuous backlight effects — Rainbow Wave, Fire, Meteor and Aurora among them — share a single 30fps animation timer rather than each running its own loop, which is the same trade described above: one predictable, modest cost instead of several effects competing for a frame rate the extension was never going to be able to afford anyway. Reactive effects like Reactive Glow, Ripple and Confetti Burst answer a keypress directly and are not built around that shared timer the same way. None of this needs Full Access — that switch in Kibo is read only by the Copy word, Copy line and Paste buttons on its toolbar — and it is free to download.
Frequently asked questions
Is choppy keyboard lighting a sign something is broken?
No. A continuous backlight effect that looks a little steppy the whole time it is running is expected — it comes from the small, fixed frame rate a keyboard extension budgets for animation, not from a fault. A keyboard that freezes or closes unexpectedly is a different, separate problem.
Why doesn’t a keyboard animate as smoothly as the rest of the screen?
A keyboard extension runs inside a much smaller memory and CPU allowance than a full app, shared with whatever app you are actually typing into. A continuous lighting effect settles for one modest, predictable frame rate to stay inside that allowance rather than trying to match a game or a video, which can assume the whole device to themselves.
Do reactive lighting effects look choppy too?
Not in the same way. A reactive effect draws for a brief moment after a keypress and then stops, so there is no sustained motion to read as smooth or choppy — the shared frame rate still applies underneath, but a burst that short reads as instant either way.
Try it on your own keyboard
Kibo is a free custom keyboard for iPhone with real mechanical key sounds, a wardrobe of themes and RGB backlight effects. No account, no ads, and it works with Full Access left off.