HomeComputer ScienceNative Bridge Latency: Batching vs Jank

Native Bridge Latency: Batching vs Jank

Interactive 3D model of the JS-to-native platform bridge used by cross-platform mobile frameworks: tune call rate, batch size, batch window and payload size, and watch serialization overhead trade off against latency and dropped-frame jank.

Computer Science3DModerate60 FPS📱 Mobile-adapted⇄ 2D version
native-app-development ↗ Open standalone

Every cross-platform mobile app pays a hidden tax on the boundary between its JavaScript/Dart layer and native platform code: each call across that bridge must be serialized, queued, hopped to the UI thread, and deserialized before native code ever runs. This simulator spawns real call traffic at a chosen rate, coalesces it into batches under a size cap and a wait-time window exactly like React Native's legacy bridge or a Flutter platform channel, and animates each resulting packet crossing in 3D. Live readouts track delivered throughput, average per-call latency, and how often a crossing's serialization cost blows past a 16.7 ms frame budget and drops a frame — the same trade-off app teams profile when deciding how aggressively to batch native calls.

⚙ Under the hood

Interactive 3D model of the JS-to-native platform bridge used by cross-platform mobile frameworks: tune call rate, batch size, batch window and payload size, and watch serialization overhead trade off against latency and dropped-frame jank.

mobilereact-nativeflutterserializationperformanceconcurrency

3D · Three.js / WebGL renderer · 60 FPS target · runs fully client-side, no install

What did you find?

Add reproduction steps (optional)