Under the hood
PreviousNext

So this is a nerd alert zone. We strive to avoid requiring users to know any of the geeky details, but there are a few things that most users should know about Fred's Fractal Factory that come under the geeky heading. And who are we kidding: how could Fred's Fractal Factory not be geeky?

Will I lose my work if there is a power outage while the Factory is calculating an .efractal to a deep zoom level?

When a calculation takes a week to complete, this sort of thing becomes a legitimate worry. With something as violent as a power outage, we cannot make hard guarantees, but we do try to make losing data unlikely. Generally, everything should be fine after a crash. However, there is a small chance that an .efractal file will be missing after a crash. In this case, there will almost always be an .rfbak file that contains a slightly older version of the .efractal file.  Suppose that you were working on abcd.efractal when the computer crashed. There should be a file named abcd.rfbak in the same folder. You can almost always just copy abcd.rfbak to abcd.efractal and then open the restored abcd.efractal file in the Factory to resume your calculations.

A given .efractal file cannot be opened concurrently by more than one application:

abcd.efractal cannot be opened by both the Factory and the Viewer at the same time. You will get a error if you try this. Similarly, if you have two instances of the Viewer up at the same time, they cannot both open the same file.

You can open xyz.efractal in the Viewer before the Factory has finished calculating xyz.efractal to the specified max zoom depth:

You can close xyz.efractal in the Factory before the Factory has completed the calculations. If you reopen xyz.efractal in the Factory later, the Factory will resume the calcuations where it left off. The Factory finishes all the calculations for zoom level n before it starts any calculations for zoom level n+1. If you close the Factory when zoom level 6 is being calculated for xyz.efractal, and then open xyz.efractal in the Viewer, the Viewer will have access to all the data for zoom levels 0 to 5, and the Viewer will report that the max zoom depth is 5. You can even add locales to xyz.efractal in the Viewer, save the locales while closing the Viewer, and then resume calculating the zoom level data by opening xyz.efractal in the Factory. The saved locales in xyz.efractal will remain intact and still be available the next time that you open xyz.efractal in the Viewer.

How the data is stored:

It is important to be aware of the fact that most of the image data for a given .efractal is not stored in the .efractal file. Consider the file c:\fractal\abcd.efractal . The image data for this file is stored in the subfolder c:\fractal\abcd . For any given fractal file xyz.efractal, a folder is created alongside xyz.efractal with the same name, eg xyz. Note that .efractal files are quite smalll, just a few thousand bytes. The .efractal files grow a little bit bigger when you add locales to them using Fred's Fractal Viewer.  Depending on the max zoom depth, the image data stored in the xyz folder can amount to over a terabyte of data.

When you open xyz.efractal in Fred's Fractal Viewer(or Factory), the Viewer looks for the image data folder xyz alongside xyz.efractal. If the Viewer cannot find the image data folder, it flags an error. You can opt to recreate the xyz image data folder using Fred's Fractal Factory, but that can take a long time. The moral of this story is that you want to keep xyz.efractal and its associated xyz image data folder together. A good strategy is to use removable USB drives when calculating fractals with Fred's Fractal Factory.

Suppose you create some nice locales with cool colors using Fred's Fractal Viewer. You can export image snapshots to share these with others. But you might want to share the .efractal file with someone else so she can view it in Fred's Fractal Viewer. This is somewhat impractical because the associated image data is often a humongous amount of data. You could just send her the .efractal file, which is relatively tiny. When the recipient of the .efractal file tries to open the .efractal file in Fred's Fractal Viewer, she can opt to reconstitude the image data using Fred's Fractal Factory. When used this way, the .efractal file acts as a compressed version of the info that you are trying to transmit, and Fred's Fractal Factory is just a rather slow decompresser.

Here is an illustration of the file structures used by Fred's Fractal Factory and Viewer:

The .efractal file is c:\fractal\test2_110.efractal and its associated image data folder is c:\fractal\test2_110  .

The Mandelbrot Escape Count image data for zoom level 0 is stored in c:\fractal\test2_110\test2_110_lo.png and c:\fractal\test2_110\test2_110_hi.png .

Four subfolders are created for the next level of zoom data in the northwest, northeast, southwest, and southeast quadrants.

The northwest subfolder:

Note that the subfolder structure recurses for increasing levels of zoom.