Xforms have the most effect over the look of the final output image. Discussing every possible technique for using them is beyond the scope of this project. For such information, you should follow the numerous Apophysis tutorials that are available on Deviant Art and elsewhere. This article is limited to some basic performance considerations when using xforms.

The number of xforms does not affect performance because only one is chosen to be applied on each iteration. Choosing a random xform among 5 takes the same amount of time as choosing among 50. However, the number of variations in each xform does affect performance.

Note that when using OpenCL, more xforms will increase compilation time because it increases the code size. OpenCL compilers are very fast, so compiling a flame with many xforms should still be fairly quick.

If the affine transform is the identity matrix, the application of it is skipped. Since the OpenCL kernels are compiled on the fly, the code for applying the affine is omitted in this case.

Adding a post affine transform to an xform will also affect performance since it’s an additional affine that must be applied each time the xform is selected. Applying an affine is very simple so the performance impact shouldn’t be too noticeable.

Adding a final xform does affect performance because it’s an additional xform application that must be done on every iteration. This effectively doubles the number of xform applications done during iteration. So only use a final xform if you absolutely need to.