FSDB reader: the first draw shouldn't wait on a full signal load
When serving waveform windows from a large FSDB (1.7 GB, 6.5M cycles) through Synopsys' FsdbReader, the dominant cost of adding a signal was not transport or request batching. It was the reader's whole-signal load: about 7-10 s for clk or a busy valid, 0.2-0.6 s for most signals. Batching loads did not share that cost (3 signals together took 18 s; one at a time took 21.8 s). Measure on the host first, driving the helper from a local script with the client out of the path, so you don't optimise the wrong layer. Then serve the visible time range straight off a VC traverse handle (goto t0, walk to t1, bucket min/max/transitions) for the first draw, and load the full signal in the background. Stream batched replies per signal, and don't let a client timeout cancel queued work and requeue it at the back.