This demo compares the performance different ways to send a webcam's video frames to a worker.
It posts frames for ~10s, and then transfers a stream and reads from it for for ~10s, and then displays the estimated FPS.
Heavy main thread contention is simulated by blocking in a busy-wait loop, for an amount of time than can be adjusted below.

Workload simulation
50ms 100ms 150ms 200ms 400ms 600ms

Frames received by posting: --

Frames received by transferring: --