Why an OBS fullscreen projector stutters on a capture card

An OBS fullscreen projector can’t tear, but it isn’t timed to your capture card: it shows frames on OBS’s own clock, skips them when your GPU is busy, adds about 1.5 to 2.5 frames of delay and takes focus from your game when it opens. It’s built for previewing and monitoring, not as a timed video output.

Updated

Why do dual-PC streamers use an OBS projector?

Because the two simpler ways of putting your game on the capture card both tear, and an OBS fullscreen projector doesn’t. A screen draws each refresh from top to bottom. If the picture changes partway down, the top shows one frame and the bottom the next, split by a line: that’s a tear.

  • Duplicate mode mirrors your monitor onto the card, but Windows times each new frame to one display only and swaps the other in the middle of a refresh. The copy on the capture card tears.
  • The card’s passthrough has your monitor plugged into the card’s HDMI OUT, and the card records the same signal. Play with vsync off and your monitor tears, so the stream tears with it.

With a projector, Windows runs the capture card as a display of its own, in Extend mode, and OBS on the gaming PC captures your game and shows it fullscreen there. OBS asks Windows to change the projector’s picture only in the vertical blank, or vblank: the short pause between two refreshes, when nothing is being drawn. So the projector can’t tear.

But it isn’t timed to the card. A projector is built for previewing and monitoring: OBS draws it the same way as its preview, once per OBS frame, on OBS’s own clock. That suits watching a scene. Used as the video signal for a capture card, it shows up as judder, dropped frames, delay and a game that loses focus.

Why does my OBS projector stutter on the capture card?

Because OBS shows a new projector frame when its own frame timer says so, not when the capture card is ready for one, and when the card isn’t ready, OBS skips the frame.

Two clocks are at work. OBS’s timer ticks at the frame rate in its video settings, 60 fps for most streams, counted by the PC’s own clock. The capture card refreshes at the rate your graphics card sends it, say 60 Hz, timed by the graphics card’s video clock. Two clocks never run at exactly the same speed, so each OBS tick lands at a slightly different point between two of the card’s refreshes, and that point slowly drifts.

A projector frame can only go on screen at the next vblank, and Windows lets it keep just one frame waiting. Before drawing, OBS checks, without waiting, whether the last frame has gone out. When the drift carries a tick to the wrong side of a refresh, the last frame is still waiting, so OBS skips the projector for that tick and the card shows the same frame twice. That’s the hitch. It comes and goes with the drift, which is why a projector “works sometimes”.

How often it hitches depends on how far apart the two rates are:

  • The card at 59.94 Hz, OBS at 60 fps: one hitch every 16.7 seconds.
  • Both at exactly 60: the clocks still differ by a few thousandths of a percent, so one hitch every few minutes.

Between hitches, where the ticks land adds anything from nothing to a whole refresh of delay. You can read all of this in OBS’s source code: projectors are drawn inside OBS’s main video loop, which sleeps until its next frame time, not until the display’s next refresh.

Does a 240 Hz capture card help?

No. With OBS at 60 fps and the card at 240 Hz, each OBS frame should last exactly 4 refreshes. Because OBS’s ticks aren’t lined up with the card’s refreshes, some last 3 and some 5, so frames land up to 4.2 ms early or late. The card still gets only 60 new frames a second, so the extra refreshes add nothing to the stream.

Setting OBS to 240 fps to match makes it render the whole scene, for every output and every projector, 240 times a second. Any late tick still skips, and the drift hitches still come, 4.2 ms wide instead of 16.7.

Why does the projector drop frames when my GPU is busy?

Because OBS draws the projector on the same graphics card as your game, and a game at full GPU use keeps OBS’s drawing waiting in line behind it.

A frame that finishes late misses its refresh, and it’s still waiting when OBS’s next tick comes round, so OBS skips the projector again. Under a heavy load that repeats tick after tick: more judder and more delay, in the moments your game works hardest.

How much delay does an OBS projector add?

About 1.5 to 2.5 frames at 60 fps, or roughly 25 to 42 ms, from your game finishing a frame to the capture card showing it.

The frame passes through five steps, and two of them are waits:

  1. Your game finishes a frame, and OBS on the gaming PC captures it.
  2. The frame waits for OBS’s next tick: 0 to 16.7 ms at 60 fps.
  3. OBS draws its scene and hands the result to the projector.
  4. The projector waits for the card’s next vblank: up to one refresh, 16.7 ms at 60 Hz.
  5. The card draws the frame, top to bottom, in its next refresh.

A 240 Hz card shortens step 4 to at most 4.2 ms, but step 2 still waits for OBS’s 60 fps tick. The streaming PC’s capture comes on top of all this, the same whichever way your game reaches the card.

No plugin can change the timing: OBS draws every preview and projector inside its main video loop, on that loop’s clock.

Why does opening an OBS projector minimise my game?

Because OBS makes a projector the active window when it opens, which takes focus from your game, and a game in exclusive fullscreen can minimise when it loses focus.

OBS does it on purpose, so a projector can listen for the Esc key. What it does to your game depends on how the game runs:

  • Exclusive fullscreen: Windows keeps a game in exclusive fullscreen only while it’s the window in front. When the projector takes over, the game drops out of fullscreen and can minimise.
  • Borderless or windowed: the game stays on screen, but it loses the keyboard and mouse until you click back into it.

It happens when a projector opens, not while it stays open, so open it before you start your game.

Why does my OBS projector tear?

The projector itself can’t tear, so what looks like a tear usually comes from something else: Duplicate mode still on, your game’s own output, or judder. Whether OBS uses Game Capture or Display Capture, it captures whole frames from your game, even with vsync off, and the projector changes the picture only in the vblank.

  • Duplicate mode alongside it. If Windows still mirrors a display onto the capture card, the card’s copy is swapped mid-refresh and tears, whatever is on it. Set Windows to Extend.
  • Your game’s own output. With vsync off, your monitor tears, and so does anything that records it, like a passthrough capture. The projector doesn’t send that. Judge the stream in OBS on the streaming PC.
  • Judder. A skipped or repeated frame makes fast motion jump, which is easy to read as a tear. A real tear splits one refresh: the top shows one frame and the bottom the next, with a line between them.

How can I make an OBS projector smoother?

You can make its hitches rarer and its motion steadier, but you can’t make it follow the card’s refreshes. These help:

  • Exactly 60, not 59.94. In Windows, run the capture card at an exact rate like 60 Hz, not 59.94 Hz, and set OBS to 60 fps in Settings › Video on both PCs. Against 59.94, the projector hitches every 16.7 seconds; with both at an exact 60, every few minutes.
  • A whole multiple of your stream. Keep the card at 60, 120 or 240 Hz for a 60 fps stream. At 144 or 165 Hz, some frames last 2 refreshes and others 3, and motion judders. Which refresh rate to use
  • Steady frames from your game. Cap your game at 60, 120 or 240 fps, or turn on vsync, so the frames OBS captures arrive evenly.
  • A fixed refresh on the card. Make sure G-⁠SYNC or FreeSync is off for the capture card’s display.
  • The projector first, then the game. Open it before you start playing, so it can’t take focus mid-game.

None of this changes how the projector is timed. It still presents on OBS’s clock, still skips frames when your GPU is busy and still adds 1.5 to 2.5 frames of delay.

What can I use instead of an OBS projector?

Something timed to the capture card’s own refreshes instead of OBS’s clock. Anti Tear shows your game on the capture card as a display of its own and swaps frames only in the card’s vblank, so the capture can’t tear.

  • A frame that isn’t ready in time repeats the one before for one more refresh: a repeat, never a tear.
  • No injection and no hooks: it reads the screen the way OBS’s Display Capture does. Its window never takes focus, so your game keeps the keyboard and mouse.
  • Lowest latency, the default, shows the newest frame at every refresh. Smooth keeps one in reserve, for one refresh more latency (4.2 ms at 240 Hz).
  • It runs at high GPU priority, never realtime. While it projects, its Sync page shows your game’s frame rate, Anti Tear’s GPU time per frame and the capture-to-screen delay.
  • It runs the card at the fastest refresh it captures that divides evenly into your stream, and its tear test counts torn, repeated and skipped frames on the streaming PC.

How the four ways compare:

Method
Tears on the card
Timed to
Delay it adds
Takes focus
Duplicate modeYesOne display onlyNoneNo
The card’s passthroughYes, when your monitor doesYour monitor, if vsync is onNoneNo
An OBS projectorNoOBS’s frame timerAbout 1.5 to 2.5 frames at 60 fpsYes, when it opens
Anti TearNoThe capture card’s refreshesAbout 3 to 20 ms at 60 Hz, 1.5 to 6 ms at 240 HzNo, never
How Anti Tear works

Try it on your next stream

Free for 3 days, no card needed. Then $5 a month.