Colour and lighting get all the attention, but a real-time composite lives or dies on timing. Here’s what genlock actually does, why three separate clocks have to agree, and how we keep everything locked on our green-screen stage.
Most conversations about virtual production are about how things look — the lighting wrap, the colour match, the resolution of the plate. We’ve written plenty about that ourselves. But underneath every real-time composite there’s a quieter problem that nobody notices until it goes wrong: timing. When a director glances at the on-set monitor and the foreground and the virtual world feel like one image, that isn’t only because the colours agree. It’s because a handful of separate machines — the camera, the tracking system, the render engine — all agreed on the exact moment a frame began.
Get that agreement wrong and you don’t get a slightly worse image. You get talent’s hand sliding a few pixels off the object they’re holding, or a virtual set that lags behind the camera move like it’s on a delay. So this one’s a guide to the plumbing: genlock, frame sync, and why we spend real effort keeping them nailed down at DocShed.
Genlock is a shared heartbeat
Genlock — short for “generator locking” — is the practice of feeding every device on set a common reference signal so they all start each frame at the same instant. Think of it as a metronome for the entire signal chain. Without it, every device runs on its own internal clock, and those clocks drift. A camera shooting 25fps and a graphics machine outputting 25fps are both “25fps,” but if they’re not locked to a shared reference, their frames don’t line up. One is always slightly ahead of the other, and the gap wanders.
For ordinary single-camera work you can often get away with that. For compositing you can’t. The whole premise of real-time VP is that we’re marrying two live image streams — the keyed foreground from the camera and the rendered background from the engine — into a single frame, over and over, 25 times a second. If those two streams don’t agree on when a frame starts, the marriage is never quite clean. You’ll see it as tearing, as judder on camera moves, or as a subtle temporal “swim” that’s hard to name but easy to feel.
Genlock fixes this by making one signal the boss. Historically that’s a tri-level sync signal distributed over BNC to every device that’ll accept it. The camera locks to it, the render nodes lock to it, the switcher locks to it, and suddenly everyone’s heartbeat is the same. Frame zero is frame zero for the whole room.
The three clocks that have to agree
In a green-screen composite there are three things that need to be in step, and it helps to think of them separately.
The first is the camera. Our Blackmagic Pyxis 6K is generating frames on a fixed cadence, and it accepts an external reference so those frames land on the shared beat rather than its own.
The second is the camera-tracking data. Our Mo-Sys StarTracker Max is measuring where the camera is in space — position and orientation, six degrees of freedom — and streaming that as positional data. Here’s the catch that trips people up: it isn’t enough for the tracking data to be accurate. It has to be accurate and correctly aligned in time with the frame it belongs to. Every frame of video needs the exact camera pose from the moment that frame was exposed. If the pose data arrives a frame or two late, the background renders for where the camera was, not where it is, and on a moving shot the world visibly drags behind the lens.
The third is the render engine. Unreal Engine is drawing the virtual environment based on that tracking data, and its output has to come back in time to be composited with the matching camera frame. Rendering takes real milliseconds, so there’s always some latency between “camera moved” and “background updated to match.” The job isn’t to eliminate that latency — you can’t — it’s to make it constant and known, so we can delay the camera feed by the same amount and hand both streams to the compositor perfectly paired.
That’s the mental model worth holding onto: genlock keeps everyone on the same beat, and matched delay makes sure the pose, the render, and the camera frame that finally get married were all talking about the same instant. Accuracy without timing is just a well-measured mistake.
How we keep it locked on our stage
On our green-screen stage the compositing happens in Assimilate Live FX, which is where these three streams actually come together. Live FX takes the keyed Pyxis feed, the StarTracker pose, and the Unreal render, and its job is to hand back a single composited frame that a director can trust on the monitor. For that to hold up shot after shot, the timing has to be boringly reliable — and boring is exactly what we’re aiming for.
So genlock is part of the rig, not an afterthought we bolt on when something looks wrong. The camera takes reference, the tracking and render sit on the same clock, and we tune the delay so the composite is stable when the operator whips the camera around rather than only when it’s locked off. We’d rather spend that time in setup than discover a drift halfway through a shoot day, because in real-time comp there’s no forgiving pass in post — what’s on the monitor is broadly what you’re keeping.
Genlock also quietly earns its keep the moment you add cameras. One of the real strengths of a green-screen approach over an LED volume is that we’re not limited to one or two tracked frustums — we can run multiple angles, each with its own live keyed output. But “multiple cameras” only works cleanly if they’re all locked to the same reference. Genlock is what lets us cut between three genlocked angles without frames fighting each other, which is precisely the trick behind a multi-cam day like our fifteen-demo Pelly shoot. Timing is the unglamorous thing that makes “shoot it all in one day” actually possible.
And it’s the natural partner to the colour work we’ve written about before. If you’re interested in how we keep the look consistent from sensor to comp, that’s the subject of our piece on our real-time colour pipeline — the two together, timing and colour, are most of what “feeling like one image” comes down to.
What’s next
The thing we’re watching closely is the industry’s slow shift from BNC-and-baseband timing towards IP. As more of the broadcast and live world moves onto ST 2110 over ethernet, the reference stops being a tri-level sync cable and becomes PTP — a precision timing protocol carried over the network. For a studio our size that’s not an overnight change, but it’s the direction of travel, and we’re testing how a PTP-based reference behaves alongside our existing gear so we’re ready rather than retrofitting. We’re also experimenting with tightening the tracking-to-render latency budget so faster, looser camera moves stay glued to the background — the more margin we claw back there, the more freedom a DP has on the day.
If you’re planning a shoot where the camera won’t sit still — a moving, multi-cam, real-time job where timing has to hold up — come and see how it behaves in person. You can book a studio visit and we’ll happily walk you through the whole chain, sync and all. And if you’re not sure which VP approach suits your project yet, our VP Decision Maker is a good place to start.
This Fortnight in VP
ARRI announces the ALEXA 35 Live Xtreme, delivering up to 8x HFR over SDI — Aimed at live sports and concerts, it outputs high-frame-rate slow motion down a standard genlocked baseband workflow while simultaneously feeding a live program signal — a neat reminder that everything in a live rig still comes back to shared timing.
Blackmagic Design announces the UltraStudio Express 3G — A compact Thunderbolt capture-and-playback box with SDI and HDMI, which is exactly the sort of unglamorous I/O that plate-playback and on-set monitoring pipelines quietly depend on.
AOTO and Tencent open a 5,000 sqm virtual production facility at Chengdu Film City — An 820 sqm LED volume driven by 48 Brompton Tessera SX40 processors, and the write-up is candid that all that scale only works because of the colour accuracy and synchronisation the processing provides — the same problem we’re describing, just at stadium size.