"M-set anatomy" remake
There are several reasons to remake old Java based pages
- The old version was optimized for 1024×800 screen resolution.
New pages are fitted to your browser window (reload page after resizing window).
- JavaScript just in time compilers are very efficient now (as like as Java ones).
Therefore it is not necessarily to support in mobile browsers two very similar technologies
(iOS and Android do not support Java applets).
- Multi-touch controls are added for mobile devices.
Use two fingers to drag or zoom an image (scroll pages by one finger).
One single touch is equivalent to mouse click.
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.
CPU vs. GPU
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.
Contents
updated 19 Dec 2013