Skip to content

How It Was Built Part 6

baddo edited this page Sep 30, 2026 · 1 revision

Part of How ShadePlay was built

Part 6: what is still open

ShadePlay itself

  • The effect on a game's frame rate. A test with and without ShadePlay is planned.
  • The move-over from the private build, on a real install. It runs when the maintainer starts ShadePlay for the first time.
  • The installer's interactive pages, an upgrade over a running ShadePlay, and the uninstall question.
  • A real screen clip with the monitor on, with the release build; Exit while a clip is being saved; the lock screen.
  • A PC without a microphone.
  • The update and automatic-update rehearsal with real installers. It is prepared and needs the maintainer at the PC (Checking for updates).
  • Re-measuring CPU, save time and memory with ShadePlay's own FFmpeg build. The CPU, save-time and memory numbers on this page and in the README were measured with the earlier prebuilt FFmpeg.

Hardware we couldn't test

  • AMD Radeon and Intel Arc graphics on real cards. Only ShadePlay's AMD encoder settings were checked, on an integrated GPU.
  • Windows 10. The installer accepts version 2004 and newer, but nobody has tried it.
  • Other NVIDIA cards, including older ones without AV1.
  • SDR monitors, several monitors, laptops with two graphics chips, and other resolutions.
  • An SDR game in fullscreen "independent flip" mode on an HDR desktop, and switching HDR on or off while recording.
  • DLSS frame generation. Screen capture may miss generated frames, depending on the driver, variable refresh rate and frame limiters.

Known limits

  • A new audio stream is only metered from the next once-a-second listing on, so for up to a second the Mix decides on older information.
  • A program that records audio itself (Discord streaming a game with sound, for example) looks audible wherever it records, which can mislead the Mix rule.
  • The -20 ms timing correction is a compromise between measured paths.
  • The mastering brightness in HDR clips is the panel's own (456 nits here), so a player that caps at it treats the 480-nit SDR white as out of range.
  • The optional YouTube copy runs at low priority, but it isn't paced next to the recorder. Its effect on a recording running at the same time hasn't been measured.
  • The replay never uses more than a quarter of your RAM. With long replays at high quality, it is shortened to fit, and the status says so.
  • Protected video and windows that hide from screen capture are blacked out or missing in clips.
  • Windows allows only a few screen-capture users at a time (four by default), so other recorders or screen shares use up slots.

Ideas saved for later

  • An automatic calibration of the audio timing, by comparing the tracks with each other.
  • Detecting new audio streams by events, instead of the once-a-second listing.
  • A way to finish a save during logoff or shutdown. Windows gives apps without a visible window only about 5 seconds.
  • Dropping generic endings such as " Application" from clip names.
  • A second way to capture the screen, through Windows.Graphics.Capture, for PCs where Desktop Duplication fails.

Glossary

  • Instant replay / replay buffer: the recorder keeps the last seconds in memory all the time, and pressing the hotkey writes them to a file. Nothing is saved otherwise.
  • Frame rate (fps): pictures per second. ShadePlay records 240 by default, up to 360.
  • Codec: a way to compress video. H.264 is the oldest and plays everywhere, HEVC is newer and more efficient, and AV1 is newer and more efficient still.
  • NVENC: the video encoder chips on NVIDIA GeForce cards (the RTX 5080 has two). AMF is AMD's equivalent and Quick Sync (QSV) is Intel's. They work beside the 3D engine, so encoding costs games little.
  • Split-frame encoding: one video shared across two encoder chips, needed above about 300 fps at 1440p.
  • Bitrate (Mb/s): how much data per second the video uses. More means sharper fast motion and bigger files.
  • Keyframe: a complete picture. The frames in between store only changes, and a clip must start at a keyframe.
  • B-frames: frames that borrow from later frames. Better compression, but more delay and reordering.
  • HDR: brighter highlights and more colours than normal (SDR) video. HDR10 is the common format, PQ its brightness curve and BT.2020 its colour range. Normal video uses BT.709 colours.
  • 10-bit: 1,024 steps per colour instead of 256, for smoother gradients. HDR needs it.
  • Mastering display metadata, MaxCLL: labels in an HDR file that describe the display it was made on and its brightest pixel, so TVs and YouTube can adapt it.
  • Desktop Duplication: Windows' way of handing a program each new screen image on the graphics card.
  • WASAPI: Windows' audio interface. Loopback records what a device plays; process loopback records what one program and its helper processes play, on any device.
  • Ducking: Windows or Discord lowering other sounds during a call. It ends up in recordings.
  • Mix and tracks: the Mix is the combined soundtrack every player plays; the other tracks hold the game, the voice chat, the microphone and everything else you hear, separately, for editing.
  • dBFS: loudness relative to the loudest possible digital level. -84 dBFS is extremely quiet.
  • Comb filter: what happens when the same sound is added to a slightly delayed copy of itself: some pitches get louder, some cancel out.
  • Edit list: a small instruction in an MP4 file that trims the start of a track, used for exact audio sync.
  • Sidecar: an optional small .json file next to a clip that describes it (off by default; always written while an after-save command is set).
  • Claude's sandbox: the protected space the Claude desktop app runs in on Windows. Some of its writes are hidden from the user.

Tell us how it works for you

ShadePlay was tested on one PC, so reports from other PCs are the most useful thing you can send: which graphics card, monitor, headset and games you use, and whether clips come out right. Bug reports, fixes and ideas are welcome too.

  • Open an issue, or pick Send feedback / report a bug in the tray menu.
  • With an AMD or Intel graphics card, the report of the built-in encoder test is the most useful thing to attach (see the README's Tested section).
  • Nothing is sent automatically. Read a log or a clip's .json file (if it has one) before you attach it: file paths in them can contain your Windows user name, and the sidecar files contain window titles.

<- Part 5: making it shareable | Contents

Clone this wiki locally