|
| 1 | +# Synchronizing Instances |
| 2 | + |
| 3 | +## Overview |
| 4 | + |
| 5 | +The _Lichtblick Sync_ feature allows users to synchronize playback actions—such as **play**, **pause**, **seek**, and **play until**—across multiple running instances of Lichtblick on the same platform (desktop-to-desktop or web-to-web). This is especially useful for users working on multi-window/multi-screen setups and comparing MCAPs. |
| 6 | + |
| 7 | +## Using the Sync Feature |
| 8 | + |
| 9 | +Once the toggle is **on**, the current instance will **broadcast** playback actions to other active instances running on the same platform. |
| 10 | + |
| 11 | + |
| 12 | + |
| 13 | +### Supported Broadcast Actions: |
| 14 | + |
| 15 | +| Action | Description | |
| 16 | +| -------------- | ------------------------------------------------------------------- | |
| 17 | +| **Play** | Triggers play on all synced instances, starting from the same time. | |
| 18 | +| **Pause** | Pauses all synced instances at the same timestamp. | |
| 19 | +| **Seek** | Seeks all synced instances to a specific point. | |
| 20 | +| **Play Until** | Triggers conditional playback up to a given time across instances. | |
| 21 | + |
| 22 | +> 🔁 Each instance independently process its own data, but reacts to common control commands. |
| 23 | +
|
| 24 | +## Requirements and Best Practices |
| 25 | + |
| 26 | +To ensure the feature works properly: |
| 27 | + |
| 28 | +- All instances must be: |
| 29 | + |
| 30 | + - Open on the **same platform**: either all desktop or all web. |
| 31 | + - Ideally running **Lichtblick** with **the same file**. |
| 32 | + - **Aligned on playback range**: The files should cover the same time range. |
| 33 | + **Otherwise, syncing behavior may be inconsistent.** |
| 34 | + |
| 35 | +- Ensure the "Sync" toggle is **enabled** in all relevant instances. |
| 36 | + |
| 37 | +## Limitations |
| 38 | + |
| 39 | +- **Experimental Feature**: |
| 40 | + This feature is still under evaluation and subject to change. |
| 41 | + |
| 42 | +- **Platform isolation**: |
| 43 | + Synchronization only works between instances on the same platform: |
| 44 | + |
| 45 | + - **Desktop-to-desktop** ✅ |
| 46 | + - **Web-to-web** ✅ |
| 47 | + - **Desktop-to-web** ❌ |
| 48 | + |
| 49 | +- **Performance-sensitive behavior**: |
| 50 | + If one instance is under high load (e.g., parsing many topics), it might lag behind others. |
| 51 | + Even though actions are synchronized via broadcast, **visual synchronization accuracy may vary** depending on system performance and buffering behavior. |
| 52 | + |
| 53 | +- **Timing offsets may occur**: |
| 54 | + Playback buffering is local to each instance. The sync mechanism sends time targets, but **frame-perfect synchronization is not guaranteed**. |
0 commit comments