メインコンテンツまでスキップ

Screen Sync

Screen Sync analyzes the foreground window and drives Chroma lighting to match. It is referred to as Ambient Awareness in the Experience Service source.

Capture and analysis

A low-resolution snapshot of the foreground window is captured approximately 5 times per second, falling back to full screen. Three analyses run on independent schedules:

AnalysisIntervalOutput
Colors~200 msDominant color plus a contrasting secondary, with vividness and brightness boosted
Patterns~3 sClassified on-screen pattern, used to select a matching lighting pattern
Active region~3 sRectangular region of meaningful content

Because patterns and active region update on a slower schedule than colors, pattern changes trail color changes.

What this means for your visuals

Dominant color extraction rewards color identity. Scenes built around a strong dominant color translate cleanly to device lighting. Uniformly desaturated scenes provide less for the extractor to separate.

Color scripting carries through automatically. Palette shifts by act, biome, or threat state extend to the player's devices with no work on your side.

Active region detection handles borders. Letterboxed cinematics, ultrawide pillarboxing, and similar framing are trimmed, so colors are sampled from the picture rather than the bars.

Screen Sync follows the focused window. Verify how your title behaves in borderless and exclusive fullscreen, and when overlays take focus.

Color treatment

Output colors are intentionally more saturated and brighter than the source image, so that lighting reads well on RGB hardware. The captured snapshot is intentionally low detail. Screen Sync reproduces the overall color of a scene rather than performing pixel-accurate color matching. Do not expect device lighting to match a specific rendered color value.

Output

Color and pattern results are streamed continuously over a WebSocket connection to RzChromatic, which drives the devices. Screen Sync additionally registers with the WYVRN/Chroma SDK as Screen Sync on start and unregisters on stop.

Next