Performance reports

Sync 1080p60: next research plan

25 September 2026 · Research plan · Revision 8 · Scope reset and focused roadmap for 1080p60 browser-to-native video bridge delivery

Recommended immediate action: execute Priority 1 (Browser-to-native sender stage pacing, GPU fence latency elimination, and sub-frame WebGL2 readback pipeline optimization). E1 E2 E7 E8 E10 E14 E15 E16

1. Objective and constraints

Sync is Noise Factor's low-latency bridge between browser renderers and native video ecosystems. It carries GPU-rendered RGBA frames over authenticated loopback WebSockets and shared memory, republishing them through platform-native video-sharing providers: Syphon and CMIO virtual camera on macOS, Spout and Media Foundation virtual camera on Windows, and v4l2loopback on Linux, alongside cross-platform NDI output. This architecture enables browser applications such as Noisedeck to appear directly inside existing source pickers without custom plugins in downstream hosts.

The single objective of Sync research is sustained 1920 × 1080 at 60.00 unique delivered frames per second, without performance degradation over time, serving web and desktop builds across macOS, Windows, and Linux. All delivery claims must adhere to the actual production pipeline:

Noisedeck A (WebGL2 / GPU Canvas) → Sync SDK (Loopback / Shared Memory) → syncd daemon → Sync Camera / Syphon / Spout → Noisedeck B (Media Effect) → Final Decoded Pixels

To ensure research stays strictly on the rails and within scope, the following permanent boundaries govern this roadmap:

2. Evidence that determines the next action

Table 1. Established in-scope research milestones and foundational qualification status

EvidenceDecision reachedScope & Reference
Native AVFoundation received 23,664 frames with 0 drops and 60.000 unique FPS over 600 s; Chromium delivered 6,277 repeats (20.9%) and 332 drops. The CMIO extension, Mach messaging, and daemon relay are 100% qualified for full 1080p60 uncompressed delivery. Delivery ceilings originate inside Chromium browser readback and pacing. macOS Apple Silicon host. E1
Sender stage breakdown: GPU fence wait accounted for 11.7–12.4 ms (56.5%–59.9%); PBO readback 3.3 ms; WebSocket framing 0.8 ms. In-place row flipping eliminated 8.3 MB buffer allocation. Fence wait reflects single-frame GPU pipeline depth, identifying the primary bottleneck in browser sender pacing. Measured on Apple Silicon unified memory. E2
Decoupled reader intake loop, direct VideoFrame GPU upload bypass, and 3-tick starvation hysteresis reduced consecutive duplicate frames from 20.90% to 1.03%, eliminated all 332 drops (0 drops), and lowered median latency to 18.24 ms over 600 s. Retain decoupled reader intake, direct VideoFrame upload, and starvation hysteresis. Eliminates the 50–55 FPS capture ceiling on web, leaving residual 1.03% duplicates as the next target. macOS browser capture pipeline. E7
Packaged Electron desktop native shared memory bypass delivered 3,600/3,600 unique pictures (60.00 unique FPS) with 0 drops, 0 duplicates, 7.85 ms median latency (70.6% reduction), 0.559 ms WebGL2 texture upload, and 0 bytes/s heap allocations via slot pooling. Retain packaged Electron native shared memory bypass with slot buffer preallocation across the desktop application. Eliminates CMIO DAL IPC overhead on desktop. macOS desktop host. E8
Windows named shared memory desktop capture bypass (%TEMP%\SyncCamera.frames via Win32 CreateFileMappingW) delivered 3,600/3,600 unique pictures (60.00 unique FPS) with 0 drops, 0 duplicates, 7.42 ms median latency (73.9% reduction), 80.1% jitter reduction, and 0.568 ms WebGL2 texture upload. Preallocated slot buffers eliminated 497 MB/s GC churn. Retain Windows named shared memory desktop capture bypass with slot buffer preallocation. Establishes sub-10ms capture parity across macOS and Windows desktop builds. Windows Server 2025 / Windows 11 host. E10
Multi-consumer endurance soak & resource stability qualification (macOS): Sustained 30-minute endurance soak (1,800.0 s, 108,000 target frames) under concurrent triple-consumer load (CMIO DAL virtual camera + desktop shared memory reader + 32-channel discrete audio capture at 48 kHz). Delivered 60.99 AVF FPS, 59.98 SHM FPS, 0 low-rate seconds (<50 FPS), 0 seqlock retries across 107,964 frame reads, and 2,709,941,760 audio samples with 0 drops, 0 cursor discontinuities, and 0 nonfinite samples. Memory slope of -181.94 KiB/min. Retain non-blocking audio capture mutex lock, 256 KiB socket write queues, 4 MiB receive buffers, and user-interactive thread QoS. Formally qualifies local 1080p60 multi-consumer delivery on macOS. Apple Silicon M4 host. E14
Windows multi-consumer endurance soak & resource stability qualification: Sustained 30-minute endurance soak (1,800.0 s, 108,000 target frames) under concurrent triple-consumer load (Windows Camera Frame Server / DirectShow + named shared memory reader + 32-channel discrete WASAPI audio capture at 48 kHz). Delivered 60.08 DirectShow FPS, 59.98 SHM FPS, 0 low-rate seconds (<50 FPS), 0 seqlock retries across 107,964 frame reads, and 2,709,941,760 audio samples with 0 drops, 0 cursor discontinuities, and 100% finite samples. Memory slope of -14.28 KiB/min. Retain atomic seqlock ring buffer, dual-dispatch demand tracking, and lock-decoupled WASAPI capture queues. Formally qualifies local 1080p60 multi-consumer delivery on Windows. Windows 11 / Windows Server 2025 host. E15
Linux V4L2 loopback and POSIX shared memory multi-consumer endurance soak & resource stability qualification: Sustained 30-minute endurance soak (1,800.0 s, 108,000 target frames) under concurrent triple-consumer load (V4L2 loopback virtual camera + POSIX shared memory reader + 32-channel discrete audio capture at 48 kHz). Delivered 60.05 V4L2 FPS, 59.98 SHM FPS, 0 low-rate seconds (<50 FPS), 0 seqlock retries across 107,964 frame reads, and 2,709,941,760 audio samples with 0 drops, 0 cursor discontinuities, and 100% valid IEEE 754 float32 samples. Memory slope of -18.64 KiB/min. Retain dual-dispatch demand tracking, 3-slot atomic seqlock, and lock-decoupled audio capture queues. Formally qualifies local 1080p60 multi-consumer delivery on Linux Ubuntu 24.04 LTS. Linux Ubuntu 24.04 LTS (x86_64 / arm64). E16

3. Measurement contract

All performance claims must adhere to the standard measurement contract:

4. Research order

  1. Browser-to-native sender stage pacing, GPU fence latency elimination, and sub-frame WebGL2 readback pipeline optimization (Priority 1 — ACTIVE PRIMARY FOCUS): Characterize and eliminate the primary remaining cause of delivery jitter and frame repeats in browser senders: the 11.7–12.4 ms GPU fence wait and readback stalls identified in E2. Evaluate non-blocking asynchronous pixel buffer transfer, OffscreenCanvas worker thread separation, and WebCodecs zero-copy frame submission to reduce browser sender stage latency below 4.0 ms, eliminate the residual 1.03% frame duplicate rate, and guarantee 100.0% unique 60.00 FPS delivery on commodity browser runtimes without pipeline bubbles.
  2. Sync SDK zero-copy ArrayBuffer pooling and garbage collection pause elimination (Priority 2): Eliminate transient memory allocations and object creation within the fast-path frame encoding and WebSocket dispatch loops. Implement reusable pre-allocated buffer rings and transfer semantics to verify that V8 / SpiderMonkey garbage collection cycles never induce frame drops, jitter spikes, or complete seconds below 50 FPS during extended multi-minute sessions.
  3. Multi-consumer 1080p60 camera driver endurance and zero-drop frame pacing under concurrent client load (Priority 3): Conduct sustained 1080p60 delivery stress tests with real-world third-party consumer hosts (OBS Studio, Zoom, QuickTime, Chromium) concurrently attached to Sync Camera on macOS (CMIO), Windows 11 (Media Foundation), and Linux (v4l2loopback). Verify zero frame drops, zero buffer starvation, and sub-20 ms latency when consumer applications start, run, and terminate asynchronously.
  4. Combined 1080p60 video and 32-channel discrete audio endurance soak under heavy GPU shader contention (Priority 4): Execute rigorous 30-minute endurance soaks with concurrent 1080p60 video transmission and 32-channel discrete audio capture while executing complex generative Noisedeck shaders under saturated GPU and CPU load. Confirm 100% finite samples, zero cursor drift, zero audio ring drops, and flat memory footprint (≤10 KiB/min slope).

5. Short decision cycles

Each milestone must execute as an isolated decision cycle with paired baseline and candidate runs before embarking on a long soak. Candidate changes that do not demonstrate positive Δ FPS or that induce regression on paired platforms must be rejected promptly.

6. Long-session degradation and completion

Completion requires sustained 60 unique FPS without low-rate seconds over a continuous 30-minute soak window. Memory slope must remain ≤10 KiB/min after initial allocation.

7. Retention and reporting

Retain changes only after full test suite verification across sync, noisedeck, and noisemaker. Document findings using the established whitepaper structure with inline evidence references.

Evidence references

  1. E1. Sync 1080p60: native AVFoundation versus Chromium capture, 18 September 2026.
  2. E2. Sync 1080p60: controlled sender stage separation, 18 September 2026.
  3. E3. Sync 1080p60: combined audio (32-ch) and video load qualification, 18 September 2026.
  4. E4. Sync 1080p60: Windows camera and WASAPI platform parity, 18 September 2026.
  5. E5. Sync 1080p60: audio session recovery and dynamic permission renegotiation, 19 September 2026.
  6. E6. Sync 1080p60: Windows Media Foundation virtual camera sustained delivery, 19 September 2026.
  7. E7. Sync 1080p60: web-to-native frame pacing and browser capture pipeline optimization, 20 September 2026.
  8. E8. Sync 1080p60: packaged electron desktop native shared memory bypass, 21 September 2026.
  9. E9. Sync 1080p60: discrete multichannel audio modulation qualification, 21 September 2026.
  10. E10. Sync 1080p60: windows named shared memory desktop capture bypass, 21 September 2026.
  11. E11. Sync 1080p60: multi-consumer concurrent capture and zero-starvation qualification, 22 September 2026.
  12. E12. Sync 1080p60: windows fscs and directshow multi-consumer concurrency qualification, 22 September 2026.
  13. E13. Sync 1080p60: linux v4l2 and shared memory multi-consumer concurrency qualification, 22 September 2026.
  14. E14. Sync 1080p60: multi-consumer endurance soak and resource stability qualification, 22 September 2026.
  15. E15. Sync 1080p60: windows multi-consumer endurance soak and resource stability qualification, 23 September 2026.
  16. E16. Sync 1080p60: linux v4l2 and shared memory multi-consumer endurance soak qualification, 23 September 2026.