Fractal Architect 5 Help Index

What’s New in Version 5.1


Applies to: FA 5, FA X

Reference: Variation Sets

This is a huge update adding 2 more render engines to Fractal Architect.

  1. Native CPU Render Engine
  2. XPC Render Engine Service - Included with GPU subscription
  3. Wide Variation Set Support for CPU and some GPUs
  4. Mega2D / Mega 3D standard variation sets

Native CPU Rendering

Since Apple deprecated OpenCL in future Mac OS versions, the Native CPU render engine is a replacement for the CPU render engine. It uses either the Mega2D variation set for 2D fractals or the Mega3D set for 3D fractals.

The Native CPU render engine does not support custom variations types.

Some fractals’ rendered colors are slightly different compared to OpenCL/Metal renders. This is a known bug.

XPC Render Engine Service for Making Videos

Version 5 of Fractal Architect has a memory leak that only becomes a problem when rendering thousands of video frames. With motion blur, that means rendering about 1 million separate fractals!

Version 5.1 introduces yet another render engine: the XPC Render Service. This render engine is ONLY available when rendering video frames to an image frame sequence.

This engine runs as a service and the memory leak is thus removed from the app itself.

The service runs locally on your Mac, not in the Cloud.

The XPC Render Engine Service feature is only available to users that subscribe to the GPU rendering option.

Local / XPC Render Engine Switch

On the Video Render dialog box, is a Local/Xpc switch. The Local option is the default.

If Local is selected, video frame rendering will occur inside the app itself (as it did in prior FA versions).

If XPC is selected, the XPC Render Service will be used for video frame rendering.

Local/XPC Switch - Set to Local
Local/XPC Switch - Set to Local
Local/XPC Switch - Set to XPC
Local/XPC Switch - Set to XPC

XPC - Render in Batches Option

This XPC render engine service can reclaim leaked memory periodically by restarting itself. In practice, this is quite transparent to you.

By default this option is turned on and causes the render service to restart after rendering every 200 video frames.

Wide vs Narrow Variation Sets

Previously Fractal Architect had a modest limit on the number of variations that can be put into a single variation set. The original limit was 128 variation types.

A “narrow” variation set is one that only has a small number of variation types in it, less than 30. A A “wide” variation set can contain hundreds of variation types. A “mid” variation set will have about 128 variation types or less.

When creating fractals, a wide variation set is much easier to work with as you can pick from a very large number of variation types.

But wide variation sets may not be compatible with your render devices (especially Intel integrated GPUs).

Introducing the new “wide” Mega2D and Mega3D Variation Sets

The Mega2D variation set has 281 2D compatible variation types. The Mega3D variation set has 373 2D and 3D variation types.

If you select the Mega2D set, you will be creating 2D fractals. If you select the Mega3D set, you will be creating 3D fractals.

2D fractals render about 15% faster than 3D ones.

Intel OpenCL CPU + Native CPU can use Wide Variation Sets

The 2 CPU render engines can both use Wide variation sets.

Intel GPU can’t Use Wide Variation Sets

The whole concept, that a variation set would only allow a subset of the complete variation type library, was created so that customers could use their Intel GPUs for flame fractal rendering. These GPUs work quite well with Fractal Architect, offering 10 X faster renders for Intel Dual Core CPUs and about 5 X faster for Quad Core CPUs.

My estimate is that 95% of all Macs capable of running Fractal Architect have an integrated Intel GPU which can be used for rendering.

The OpenCL/Metal Intel GPU runtime’s kernel compiler unfortunately fails to compile the kernel source code for “wide” variation sets. It can sit there compiling, compiling, … for up to 5 minutes or more. The compile will finally be cancelled by Mac OS itself. This unfortunately leaves the OpenCL/Metal runtime in a weird state, that can be fixed by a simple reboot of your Mac.

Max Variation Types Limit for each Render Device

The app has a new set of Preference parameters, which are the Max Variation Types Limit for each Render Device type.

These are found on the Home Page > VarSets button > Make Var Set popover.

There are settings for both OpenCL and Metal. These are sticky parameters, so the values will be the same the next time you use the app.

OpenCL


Device Default Setting Max Setting Wide Compatible
CPU 1000 1000 Yes
Intel OpenCL GPU 128 128 (Not compatible) No
AMD OpenCl GPU 2015 & Later 128 1000 Yes
AMD OpenCL GPU 2014 & Earlier 128 Not Known ???
Nvidia OpenCL GPU 128 Not Known ???

Metal


Device Default Setting Max Setting Wide Compatible
AMD Metal GPU 2015 & Later 128 ??? No
AMD Metal GPU 2014 & Earlier 128 ??? No
Nvidia Metal GPU 128 Not Known ???
Max Variation Types Limit Popover
Max Variation Types Limit Popover

Wide Variation Sets for GPU Not Enabled by Default

Kernel compile failures crash the app and mess up the Mac OS OpenCL/Metal systems.
Rebooting your Mac to recover from this is mandatory.

Yet, some of you have Macs with AMD GPUs capable of handling Wide variation sets.

Enabling Wide Variation Sets for AMD GPU OpenCL

Warning: Many users may experience serious issues with Wide variation sets and should not use them for GPU rendering.

  1. Use Preferences > GPU Rendering Tab. Select your OpenCL AMD GPU for rendering.
  2. Open the Home Page > VarSets button > Make Var Set popover.
  3. Set the AMD GPU Max Variation Types limit to 1000.
  4. Switch to the Mega3D variation set.
  5. Select the Make New tab of the Home window and generate some random fractals.

If the Mega3D kernel compile fails, reset the Max Variation types value to 128, then reboot your Mac.

Variation Set Compiles are Failing - What do I do?

Set the Max Variation Type Limit for your render device to the older limit of 128.

The older limits were conservative, but did ensure reliable compiles.

Variation Set Compiles are Very Slow - What do I do?

If your Mac has an AMD GPU, use that and avoid the Intel GPU.

Or use the Intel CPU: fast compiles but slow renders.

What Render Devices are compatible with Wide variation sets

  1. Intel OpenCL CPU (not Intel GPU!)
  2. Native CPU
  3. AMD OpenCL GPU (2015 and later)

These Render Devices “Might” Be Compatible

These configurations are untested and might be compatible:

  1. AMD 2014 and earlier
  2. Nvidia GPU

These Render Devices Are Not Compatible

  1. Intel OpenCL GPU
  2. Intel Metal GPU
  3. AMD Metal GPU

Mixed Device Configurations

If you select more than one render device, the render device with the lowest limit will establish the limit for the mixed group of selected devices.

So for example, if you choose to use both the Intel GPU and the AMD GPU on a recent MacBook Pro, the limit for that combination will be the same as the Intel GPU.

Automatic Variation Set Filtering

If you select the Intel GPU for rendering, you will not be able to select the Mega2D, Mega3D, or other wide variation sets.

Automatic Narrowing

If you open a fractal that references a wide variation set, when using the Intel GPU, a temporary narrow variation set might be created for that fractal. The fractal will be rendered using that temporary variation set.

The app first checks if another permanent variation set can be used as a substitute first.

These temporary variation sets are discarded when the app is closed.

What happens if I switch from Mega2D/Mega3D + CPU to Intel GPU?

The active variation set will be set to either Flam3 Legacy or Core3D.

What happens if I open a fractal using Mega2D/Mega3D when using Intel GPU?

A temporary variation set is created for that specific fractal and used for rendering.

The app first checks if another permanent variation set can be used as a substitute first.