"M-set anatomy" remake

There are several reasons to remake old Java based pages JS is easy-to-use because to make rather complex scripts you need not compiler but just browser and text editor.
JS is more restricted than Java and therefore safer (e.g. JS can not write files to your hard drive).
See also An Interactive Introduction to Splines remake.


Modern GPUs generate fractal pictures very quickly. See e.g. WebGL based Julia sets animation, animation with the Distance Estimator algorithm or Makin's fractal animation. But we can use double floats only in experimental WebCL yet.

Unfortunately direct calculation of all pixels is not power efficient. The boundary tracing algorithm is 4-8 times more efficient for the standard Mandelbrot and Julia sets. It is rather complicated and suits more for CPU. 4 JS workers are used for direct calculations.

Background BT workers

Background workers (one for an image) are used to accelerate pages start up. See also 4 workers for fractals.

Workers off-line test

To test workers off-line use
security.fileuri.strict_origin_policy = false in Firefox
--allow-file-access --allow-file-access-from-files flags in Chrome.
I can't use workers off-line in mobile Chrome yet.

CSS pixels in Firefox

Firefox uses 1024 CSS pixels for my 1280 pixel screen. Then it scales fractal images 5/4 times. Therefore they are (5/4)2 = 1.5 times faster but a bit coarse. Use layout.css.devPixelsPerPx = 1.0 to set 100% scaling.

Workers performance tests

Sometimes workers are a little slower at start up than script without workers. But I get similar execution times, if I press the picture in the center (i.e. in the second pass). As I remember, I got similar results for Java JIT compiler.

updated 19 Dec 2013