.. index:: Background

Background
==========

What is XaoS?
-------------

XaoS is a realtime interactive fractal zoomer. This means that it lets you
zoom smoothly into any place in the fractal you choose without the many hours
of calculation required by most other fractal generators. It now has many
other features too, like different fractal types, autopilot, special coloring
modes, support for various bit depths (8bpp, truecolor, hicolor and realcolor),
random palette generation, color cycling, etc.

Why yet another fractal generator?
----------------------------------

We decided to make XaoS, because all fractal browsers we know of take a
long time to calculate each image. You may browse nice images
generated by them but real impressions of fractals --- the self
similarity and infinite zooming into the nice parts of fractals ---
can be seen only in animations. There are many programs available that
make nice animations, but they take a long time to calculate and lots
of space on disk. Most such animations are quite ugly because their
authors can't see them without many hours of calculations.

A natural question is: is it possible to generate such animations in
real-time? The answer was negative for many years, since the Mandelbrot set is
very computationally expensive. Things are changing. Today's computers
are fast enough to calculate approx. 10.000 of pixels per frame,
which is enough 
for a very low resolution animation (100x100). Several programs doing that
are available. But 100x100 animation still looks quite ugly. To make
animation nice you need at least 320x200 pixels. And that is 6 times more!
One possibility is to wait until computers will be fast enough, but
it will take many years, and then 320x200 animations will be obsolete
and everyone will want 1024x768 resolution instead or more.

We found a special algorithm that saves up to 99.98% of calculations during
zooming by reusing pixels already calculated in previous frames. There were
some programs doing similiar tricks before but we don't know about any able
to do zooming interactively with a speed similar to XaoS. Many other tricks
were later implemented XaoS to achieve yet higher framerates. Now XaoS does
up to 120 frames per second on a 120Mhz pentium in a fullscreen 320x200
animation, and calculates an average of 160 (0.24%) pixels per frame. This makes
XaoS fast enough to achieve its primary goal, realtime animation, but there
are still many areas that could improve, since more complex fractals,
higher resolutions, or slower computers still bring many problems.
