Parallel Beauty - with Isolates into the Mandelbrot set
summary
Dart code splits Mandelbrot rendering into multiple Isolates, using spawn, send/receive ports and transferable data to move large Uint32 image buffers without copying. A pool of isolates tracks available isolates and a waiting queue; each tile request carries a request ID and completes a stored Completer when its tile returns. Render time drops as isolates scale to core count (about eight cores hits the sweet spot) and per-tile pooling avoids repeated isolate creation.
AI-written summary · about
chapters (9)
- 0:00Introduction and setup
- 1:35Dart isolates vs threading
- 5:26Isolate communication basics
- 8:37Isolate creation and limitations
- 13:31Mandelbrot set demo start
- 15:18Parallel rendering with isolates
- 19:50Render manager implementation
- 24:56Handling isolate results
- 27:46Q&A and conclusion
related talks
32mHeavy lift work in Flutter get started with Isolates
18mEscaping flatland: a romance of data science in the browser
41mThe Dark Side of Isolates in Dart
24mTiling & Parallel Processing of Large Images
29mParallel computing in ReactJS: Provide a pleasant user experience
33mParallelism experiments in JavaScript
12mHow do you deliver a feature on the biggest stage in the world?
39mHella-Parallel Compute with RenderScript
