/demo/candle-work).
The two panels receive the same moving viewport, live candle and changing price
range. Switch between sharp/rounded bodies and 40/200 candles to compare the
current rendering with a one-pass worklet prototype.
Both panels keep four batched paths: up/down bodies and up/down wicks. This
experiment does not replace batches with individual candle draw calls.
Run the measurement
Press Run paired benchmark. The preview pauses while a UI worklet measures three versions with real Skia builders:- Main: build geometry objects, then scan bodies and wicks for each color.
- One pass: calculate each candle and emit directly into the four builders, reusing rectangle input objects.
- Production: use the same body-path helper as
useCandlePaths. It keeps the geometry and four scans, but reuses one plain rectangle within each body-path rebuild instead of callingSkia.XYWHRectfor every sharp body.
detach() operations. They
exclude the engine, rendering, GPU, React and mapper scheduling. The preview is
a visual comparison; it is not a display-FPS measurement.