Skip to content

RetroRec-v1.3

Choose a tag to compare

@MaxRBLX1 MaxRBLX1 released this 19 Jun 20:33
dc15044

What's New in v1.3

πŸŽ₯ Capture Engine: WGC (Windows Graphics Capture)

  • Switched from ddagrab (Desktop Duplication API) to gfxcapture (Windows Graphics Capture)
  • Native GPU texture access via D3D11 with hwdownload
  • Better integration with modern Windows 10/11 compositor
  • Zero-copy frame grabbing from the desktop swapchain

πŸ“¦ Live Encoder: MPEG-4 Part 2

  • Replaced MJPEG with MPEG-4 Part 2 (mpeg4) at quality value 5
  • Temporal compression β€” only stores what changed between frames
  • 76% smaller temp files during recording (47 MB vs 199 MB per 30 seconds)
  • Same CPU usage as MJPEG β€” still runs on 1 thread
  • Dramatically reduced disk I/O β€” no more stuttering on slow drives

🎯 Frame Mode: VFR (Variable Frame Rate)

  • Records at native monitor refresh rate β€” no forced 60 FPS
  • Works correctly on 60Hz, 75Hz, 120Hz, and 144Hz displays
  • mpdecimate filter removes exact duplicate frames automatically
  • Only encodes frames when the screen actually changes

⚑ Priority Boost

  • FFmpeg now spawns with ABOVE_NORMAL_PRIORITY_CLASS
  • Eliminates lag spikes during heavy GPU workloads
  • RetroRec UI stays at BELOW_NORMAL β€” never interferes with recording

⏸️ Pause Framework

  • Pause hotkey infrastructure added (default: P or Ctrl+P)
  • Pause function stubbed β€” full implementation coming in v1.4
  • INI reload detects pause hotkey changes live

πŸ”§ Live INI Reload

  • Edit RetroRec.ini while RetroRec is running
  • Changes detected every 2 seconds
  • Hotkeys re-registered automatically
  • No restart required

🧹 Orphaned Temp Cleanup

  • On startup, deletes any leftover _temp.mkv files from crashed sessions
  • Prevents disk space waste from interrupted recordings

🎨 UI Polish

  • Status display now correctly shows "MPEG-4" instead of "MJPEG"
  • Settings button opens INI in Notepad
  • Recording sessions counter

Changes from v1.2

Feature v1.2 v1.3
Capture API DDAGrab (DDA) WGC (gfxcapture)
Live Codec MJPEG qv 8 MPEG-4 Part 2 qv 5
File Size (30s) ~199 MB ~47 MB (-76%)
FPS (1 thread) ~41 FPS ~57-60 FPS (+40%)
Frame Mode VFR VFR (native refresh rate)
FFmpeg Priority NORMAL ABOVE_NORMAL
INI Reload Manual restart Live reload (2s timer)
Temp Cleanup No Yes (on startup)
Settings Button No Yes
Pause Support No Stubbed (v1.4)
Post-Convert x264 ultrafast CFR 60 x264 ultrafast CFR 60 (unchanged)
Audio WASAPI loopback WASAPI loopback (unchanged)
CPU Matrix Auto-tune CRF/bufsize Auto-tune CRF/bufsize (unchanged)
Threads 1-4 (CPU-based) 1 (always β€” MPEG-4 is single-threaded)

System Requirements (Unchanged)

Component Minimum
OS Windows 10 1803+ / Windows 11
CPU Any dual-core x86_64
GPU Any display adapter
RAM 4 GB
Storage Any HDD or SSD

Known Issues

  • Pause does nothing β€” the hotkey is registered but the function is a stub. Full pause/resume via NtSuspendProcess planned for v1.4.