Release Notes

Fractice features a performance upgrade to the 64-bit version, and a minor UI enhancement.

  1. In the 64-bit version only, the Mandelbrot/Mandelbar SSE2 assembler code's inner loop was unrolled to process four pixels at once instead of two. This makes Mandelbrot and Mandelbar renders approximately 1.5 times faster. Note that this optimization is only in effect if the image width is a multiple of four, otherwise the original code is used.
  2. The history bar's context menu now includes the Transform and Export commands.

Fractice fixes a bug that made shallow (non-deep) zooms take twice as long as they should have.

  1. In the previous version, SSE2 support was accidentally disabled for shallow (non-deep) zooms. This caused shallow zooms to take approximately twice as long as they should have. Deep zooms were unaffected. Checking the "Use SSE2" checkbox in Options/Engine made no difference. The bug was present in both the 32-bit and 64-bit versions, and in both the server and the client. Sorry! Fixed.
  2. The real-time colormapping/downsampling function that's used in full-screen Exclusive (Mixer) mode is now better optimized, and runs two or three times faster on all platforms. This leaves more CPU time for rendering.

Fractice adds a native 64-bit version, which typically renders deep zooms 2.5 times faster than the 32-bit version.

  1. The 64-bit version has been tested on Intel Core2, Intel i7, and AMD X2 CPUs, under Vista x64 and Windows 7 x64. In all cases it proved to be at least twice as fast as the 32-bit version of Fractice running on the same PC, typically 2.5 faster for deep zooms. The 64-bit download includes a 64-bit server (FractServ.exe). Note that either version of the client can be connected to a mix of 32-bit and 64-bit servers.
  2. A new 32-bit version is also included in this release. It should behave identically to, but the executable file is smaller, because it omits debug information which was accidentally included in previous versions.
  3. A context menu was added to the Servers dialog's list control. The menu includes a Properties item which displays information about the selected servers, including whether they're 32 or 64 bit. The client's About dialog also includes this information.

Fractice adds a major new feature called multi-leg recording, which allows a movie's trajectory to contain more than two coordinates. This version also fixes a number of bugs, some of them critical.

  1. Multi-leg recording. In previous versions, a movie's trajectory consisted of only two coordinates (start and end). The trajectory can now contain any number of coordinates, defining a series of connected linear segments or "legs", AKA a polyline. This allows an entire navigation history to be turned directly into a movie. Various UI changes were made to accommodate this, mostly in the Record dialog. The leg durations are calculated automatically, based on the amount of zoom change.
  2. Slow deep zoom cancel. In previous versions, canceling a deep zoom render could take a very long time, causing the application to appear hung. This is fixed for both navigation and recording, and for both local and distributed rendering. Note that for distributed rendering to cancel quickly, you must be running the latest version of FractServ.exe on ALL of your server PCs.
  3. Deep zoom beyond range of double. In previous versions, deep zoom navigation failed beyond the range of double precision floating-point (10E+308). This is fixed: deep zoom navigation is now unlimited, assuming sufficient math precision is specified. Note that for movie recording, zoom depth is also unlimited, with the exception that the delta zoom of each leg can't exceed 10E+308.
  4. Highlight drop position. In the history bar, when drag-reordering items, the drop position is now highlighted. The drop position is also highlighted when dragging items from the history bar to the record dialog, or when drag-reordering items within the record dialog.
  5. Servers Done and Queue. The Servers dialog now includes two addition columns, Done and Queue, which are useful for distributed rendering. Done is the number of items the server has completed, and Queue is the number of items assigned to the server but not yet completed. The items are frames during movie recording, otherwise they're rows. Both columns update dynamically if Progress is checked.
  6. Servers dialog header state. The servers dialog's header state, including column widths, column order, and sort order, now persists in the registry.
  7. Caption click brings bar to front. In previous versions, clicking a floating bar's non-client area (caption) didn't bring it to the front of the Z-order. The same was true for modeless dialogs. This is fixed.
  8. Reverse color cycling. It's now possible to cycle colors in reverse, by entering a negative color cycling rate in the Color Cycling bar, or in the Record dialog. Note that the Color Cycling bar's slider doesn't show negative values. To allow reverse color cycling via MIDI, change the range of Color Cycling Rate to [-1..1] in the MIDI Setup dialog.
  9. Duplicate frames in recording. In previous versions, recordings could contain occasional duplicate frames, particularly if the render time per frame was very short. This was due to a race condition, fixed.

This version adds support for the Mandelbar (Tricorn) fractal. No other changes were made.

  1. Added support for the Mandelbar (Tricorn) fractal. As with Mandelbrot, exponents ranging from 2 to 13 are supported. For optimal performance, exponent 2 (the default case) uses hand-coded SSE2 instructions, provided Use SSE2 is checked in Options/Engine. All other features including deep zoom, movie recording, and distributed processing are fully supported for Mandelbar.

This is a bug fix release; no new features were added.

  1. Upon entering Exclusive mode, the initial position of the mix fader was being ignored; fixed.
  2. In the Record dialog, specifying a duration of one frame would cause a crash, due to a divide by zero; fixed.
  3. During recording, the View menu's keyboard accelerators were being needlessly disabled; fixed.

This is the initial release.