You're deep in a cutscene. The frame rate stumbles, the world goes choppy, and the character keeps talking anyway, mouth still roughly matching the words. You probably assumed that was luck, or sloppy QA that somehow worked out. It wasn't either. It's a triage system the engine runs invisibly while your GPU quietly panics.
So how does it decide what to throw overboard?
The budget, not the animation
Modern engines don't treat lip-sync as a single calculation. They break it into layers, each with a different cost and a different priority score. At the expensive end: full phoneme-driven blendshape animation, where a face mesh deforms across dozens of morph targets to match individual sounds like a hard "p" or a soft "th". At the cheap end: a simple jaw-open-close driven by audio amplitude, the puppet-mouth fallback that's been in games since the early 2000s, and which works like a sock puppet operated by someone who's heard of faces but never seen one.
When a frame budget overruns, the engine's scheduler doesn't wait for a programmer to intervene. It reads a priority queue. Lip-sync calculations for characters off-screen, or beyond a set distance threshold (often somewhere around 8 to 12 meters in a third-person game), get culled first. You'll never notice because you can't see them.
For characters you can see, the engine drops down the quality ladder. Unreal Engine's built-in facial animation system uses a LOD model for skeletal animation that can step a face from 52 blendshape targets all the way down to 4, depending on the frame time budget left after geometry, lighting, and physics have taken their share. The mouth keeps moving. It just moves with less nuance.
Here's a worked example. Picture a narrative RPG running at a target of 60fps. During a dense outdoor conversation, particle effects from a nearby fire push frame time to 28ms, well above the 16.6ms budget. The engine has already committed to rendering the scene, so something has to give. Lip-sync for the two background NPCs within earshot gets suspended entirely. The main speaker drops from 52 blendshapes to 8. The player, focused on the dialogue subtitles and the main character's eyes, almost certainly doesn't notice the jaw has gone slightly puppet-like. The conversation lands. The illusion holds.
That's the whole game: protect the illusion, not the fidelity.
What people misread here
The common assumption is that lip-sync degrades because developers didn't care enough to optimize it. Spend five minutes on any gaming forum and you'll find this take. It's wrong, and it's wrong in a way that reveals how little most people think about perceptual priority.
Lip-sync is actually one of the most aggressively protected systems in a modern narrative game, precisely because it's so perceptually sensitive. Humans are wired to detect mouth-sound mismatches at a neurological level. A slightly wrong shadow bothers almost no one. A mouth half a syllable out of sync feels deeply wrong to everyone, every time, without exception.
Engineers don't deprioritize lip-sync carelessly. They build fallback chains specifically designed to keep some version of it running under stress. The jaw-open-close fallback exists not as laziness but as a guaranteed floor: no matter how badly the frame rate degrades, the character won't be speaking with a completely static face.
The real cost trade-off is between blendshape evaluation (CPU-side, runs on the animation thread) and the audio-driven amplitude fallback (nearly free, reads a single float from the audio mixer). When the animation thread is overloaded, the scheduler can redirect lip-sync to the amplitude path in a single frame without a visual pop, because the transition smooths over two or three frames of interpolation. The viewer sees a slight softening of the face. Not a glitch.
Ask yourself: when did you last notice a background NPC's mouth going still mid-crowd-scene? Probably never, which is precisely the point.
Engines like Unity's DOTS architecture and Unreal's Chaos animation framework both expose this priority weighting to developers directly, letting them assign explicit budget caps per character and per system. A background NPC in a crowd scene might have its facial animation budget capped at 0.1ms regardless of what the frame can afford. The main story character gets a reserved 2ms that other systems cannot touch.
Reserved budgets. For a single face.
That's how seriously studios take the mouth. The next time a cutscene gets rough and the lip-sync starts looking slightly off, you're not watching a failure. You're watching a triage system do exactly what it was designed to do: surrender the thing you're least likely to consciously notice, to protect the thing that would break the scene entirely. The engine is making a bet on your perception. Most of the time, it wins.