This page describes the main features of FracTest's user interface.

The Fractal Window

The fractal window is the main part of the FracTest user interface. It is where the fractal is displayed; it is also where you can use selections to pick part of the view to zoom in on, and where you can drag and drop PNG files to load them for rendering, or to add them to a batch mode work queue.

When you first start FracTest, it will typically display a default Fractal view; if you have not added any compute servers, though, it might stay blank. Once you start exploring, it will display the current fractal view as it is computed.

A typical fractal view (click to expand). Here, a computation is in progress; green boxes show which tiles are being computed. A box in the centre shows the current selection.

Sizing The Fractal View

The fractal window is as large as it can be to fit in the application window. However, the shape of the fractal view shown in it depends on the image size setting in the view controls.

The generated fractal image will always be the selected size. The image will be scaled up or down, as needed, to fit in the fractal window; but the image saved to a file will always be the full-sized image.

Resizing the window has no effect on an ongoing computation; the fractal view will simply be scaled to the new window size.

Monitoring Computation

While a fractal is being computed, the window will show the fractal developing. In progressive mode, you will see the fractal rendered roughly at first, then fill in with more detail. Boxes drawn over the fractal will show which tiles are being worked on, coloured to show which pass is currently being computed. There should be as many tiles being computed at once as your computer has logical processors.


You can make a selection by clicking and dragging with the mouse in the fractal window. Your selection will be shown as a box with a central cross, as in the picture above. While you are dragging, you will notice that the aspect ratio is constrained to be the same as the fractal window; the selection box shows exactly what part of the fractal will be rendered if you click "Play" (see below). The cross in the centre selects a single point, which is used for some features such as point analysis.

Once a selection is made, you can move it by dragging within it using the mouse. You can also adjust it more finely using the keyboard — arrow keys move the selection a pixel at a time, and the Page Up and Page Down keys expand and shrink it. To help keep the selection visible against many-coloured fractal images, you can change the selection colour in the selection display control panel.

With a selection made, rendering the fractal will render the selected area. This is normally done with the "Play" button, but any feature which triggers a render (such as the quick-access buttons for palette shift) will also render the selected area.

Dropping Files

You can drag and drop PNG files which were previously saved from FracTest from your computer into the fractal window.

Bear in mind that there's no point in dropping other files — including PNG files from other apps, or JPEG files — into FracTest; only FracTest's own PNG files, with embedded fractal parameters, can be processed by FracTest.

The Toolbar and Menu Bar

The toolbar occupies the left-hand half of the strip across the top of the screen, below the menu bar. The name of the current session is displayed boxed below the toolbar. The image title field is to the right of this, but will be blank if there is no image title:

The Toolbar, Session Name, and Image Title (click to expand).

The toolbar provides quick access to the most commonly-used features of FracTest:

Open a file, load parameters for a fractal view from it, and render that view. Currently FracTest stores its view parameters as meta-data in PNG files, and so this function is only useful to load a PNG file which has been created by FracTest. Save a view to a PNG file. Use this to save the master copy of a fractal view; or to bookmark a view for later study; or to save a palette you like. Even if the view is only partly rendered, the fractal parameters will be saved so that you can come back to this view later.
Export a view to a Jpeg file. This only saves the image of the view — no parameters are saved. Use this to export a smaller, faster image file; for example for web sharing. Open the FracTest settings window.
Go to the home view for the current fractal. This is basically the fully zoomed-out view that shows the whole fractal. Go back to the first view in the history. This will be greyed out if you are already at the first view.
Go back to the previous view in the history. This will be greyed out if you are already at the first view. Go forwards to the next view in the history. This will be greyed out if you are already at the last view.
Go forwards to the last view in the history. This will be greyed out if you are already at the last view. Open the history window.
Zoom in. Currently zooms in at the centre of the image by 5:1. Zoom out. Currently zooms out at the centre of the image by 5:1.
Render the current view parameters. If a render is currently running, it is aborted; then a new render is started with the current parameters. Use this after adjusting the parameters in the control panel, or after selecting an area with the mouse, to actually render it. Stop the current render.
Show the containment tree of all views in the context database. Toggle the overlay of contextual views on top of the current view.
When you have an active selection, the point at the crosshairs of the selection can be analysed by clicking this button. This feature is under-developed and pretty well borken at the moment. When you have an active selection, the area within the selection can be analysed by clicking this button. This feature is currently experimental.

Note that the history is persistent, so navigating back and forth in it is very fast; each time you go back or forwards, the corresponding view is re-opened and continues rendering from where it left off, rather than having to start from scratch.

The menu bar is essentially self-explanatory, and contains all of the commands which are on the tool bar. However there are some extra, less frequently-used features there:

File Open Session Pops up the session chooser, allowing the user to manage sessions, or open a new session.
Palette Load Palette Loads a palette from a PNG file. Use this to load just the palette, not the other view parameters, from a PNG file that was created by FracTest.
Palette Capture Palette This command captures part of the current palette into a new palette. Enter the offset and size, in segments, of the colours you want to capture, and a new "User" palette will be created containing those colours.
Generate Map to Here Creates an image sequence illustrating the location of the current view within the overall fractal. Although the individual thumbnails are small, this can take a very long time on deeply nested images.
Work Manage Work Queue Brings up the Queue Management window, which will show all jobs currently queued. Normally empty, this is useful in batch mode, or other situations where fractal renders are queued, such as Map to Here.
Work Manage Cluster Brings up the Cluster Management window, which displays the status of every server known to FracTest. Even in standalone mode, FracTest uses a server for computation, so this is potentially useful in all cases.
Help Manual: ... Links to the sections of the user's manual (this document).
Help About Shows the about box.

The image title field is below the toolbar, and displays the title of the current image. This is set when it is saved to a file. If you depart significantly from the named view, this field is blanked to show that you are no longer on that view. If there is no title, the field will be blank.

The Information Panel

The information panel occupies the right-hand half of the strip across the top of the screen, below the menu bar and to the right of the toolbar.

This panel contains numerous useful pieces of information. It looks like this:

The Information Panel (click to expand).

At the top-left is the resolution indicator. This displays the arithmetic mode currently in use, the number of bits of precision required to compute the current view, and the percentage of the available precision which has been used. If the Math Mode is set manually, this indicator will change colour to warn you when you have zoomed too deep for the current mode. If the Math Mode mode is "AUTO", then don't worry even if it goes red at 100% — the mode will change automatically as you zoom deeper.

To the right of this is the time indicator. This shows the current state of the computation — blue indicates that a computation is running, green is complete, and other colours indicate various exceptional states. While a computation is running, and after a little time has elapsed, this panel will display an estimate of the Time To Go (TTG), abbreviated as seconds ("s"), minutes ("m"), hours ("h"), or days ("d") as appropriate. It will also show the Estimated Time of Arrival (ETA); since this only shows the time, remember to add the number of days indicated in the TTG. Once a render has completed, this shows the time of day at which it finished, and the length of time it took.

Below these is the "factoids box". It shows:

The Co-Ordinates Panel

The co-ordinates panel displays and inputs the co-ordinates of the current view, and the current selection.

The Co-ordinates Panel (click to expand).

The middle row displays the essential co-ordinates and radius of the current view. Above that, for Julia set views, are the co-ordinates of the Julia set reference point; the checkbox puts FracTest into Julia set mode.

The bottom row displays and sets the selection position — the X and Y are the crosshair position, and R is the size of the box around it. You can use this to see the exact position of a point you select on screen. If you want to select a specific point, start a selection by dragging in the fractal window, and then adjust the co-ordinates here.

In deeply zoomed views, the co-ordinates will be too large to see and edit here. The "Pop Out" button on the left pops the co-ordinate fields out into a separate window, with much larger text fields. Closing that window pops the panel back in again.

The View Control Panel

The view control panel is below the co-ordinates window, to the left of the main fractal view. This panel contains the main controls (apart from the co-ordinates) for setting up a view. These are:

Fractal: The fractal to render. FracTest is capable of supporting multiple fractals, but in practice the focus has been heavily on Mandelbrot, so there are as yet few others.
Rep Func: The representation function to use to display pixel values. "D" is the standard dwell time, or escape time; "T" is tuning; and "BD" is the binary decomposition of the external angle. These can be enabled in any combination, but at least one must always be set. Note that "BD" mode requires careful setting of the bailout value.
Math Mode: The mathematics mode to use. AUTO will select the mode and precision to use automatically, based on the current zoom level, resolution, and anti-aliasing.
Precision: If the math mode is FX (Fixed), this setting determines how many words of precision to use. Otherwise, it is ignored.
Iterations: The number of iterations to run on each pixel before it will be considered part of the fractal set (if it doesn't reach the bailout value).
Bailout: The bailout value. 2.0 is strictly correct (for the Mandelbrot set); however, larger values (e.g. 4.0) can help to reduce visible banding, particularly near the outer edges of the set.
Image: Sets the size of the image to generate; the image will be scaled to fit the window for display, but will be saved to disk at the specified size.
Progressive: Sets the progressive rendering mode. "No" turns progressive rendering off; the other modes will render in multiple passes, with a rough image of the view appearing relatively quickly.
AA: Sets the anti-aliasing mode.
Cycles: Turns cycle detection on or off. Cycle detection uses Brent's algorithmCycle Detection; Brent's algorithm
Article on cycle detection by Brent's algorithm. [Wikipedia]'s_algorithm
. This is quite efficient, and should add little overhead to a calculation; however, if there is any significant amount of black in the image, cycle detection will cause those pixels to terminate early, saving a large amount of computation. Generally turn this on if there is much black about.
Smoothing: Turn this on to smooth out the banding that occurs in open areas. Turn it off if you wish to see the results of the iteration counting directly; otherwise leave it on, as the overhead is very small.

The Palette Control Panel

The palette control panel allows whatever palette is in use to be configured. The content of this panel will depend on the palette type in use; see the Colours and Palettes page for more information on this.

The one control which is always present is the "Palette:" selector at the top; this allows the type of palette in use to be selected.

The Palette Application Panel

The palette application panel determines how a palette is applied to the current view; in other words, how iteration counts in the fractal are mapped to colours in the palette. See the Colours and Palettes page for more information on this.

The Overlay Display Control Panel

This panel lets you choose how the current selection and context overlays are displayed. To help make the selection and overlays more visible against changing backgrounds, you can pick the colours in which they are drawn. This does not affect the rendering of the fractal image.

The Histogram Panel

The histogram panel is displayed towards the bottom of the left-hand panel. It is similar to the histogram found on many cameras; it displays the relative number of pixels at each level of brightness, from black on the left to white on the right. This is updated at the end of each rendering pass.

The aim is to give you a subjective indication of how light or dark your image is.

The Progress Panel

The progress panel is displayed below the histogram panel. It is a mini-view of the fractal window, where each block represents the rendering state of a tile.

With non-progressive rendering, each tile will turn green as it is rendered — when all are green, the fractal is finished.

With progressive rendering, each tile is coloured to indicate how many passes it has completed, green being the last pass. Hence, the progress panel is a 2-D map of the progress through the computation.

The example at right shows a fractal which has completed the third-last pass (orange) and is working through the second-last pass (yellow). Since slowest tiles are rendered first after the last pass, we can see here that the central circle and the spirals branching from it are the most processor-intensive to render.