future | quick start | limits | videos | download | source | benchmarks | gallery | manual
As the orginal upstream author Karl Runmo says:
Want to create DEEP Mandelbrot fractals 100 times faster than the commercial programs, for FREE? One hour or one minute? Three months or one day? Try Kalles Fraktaler!
It works by using perturbation techniques and series approximation, to allow faster lower precision number types to be used for pixel iterations, based on a high precision reference.
I (Claude Heiland-Allen) forked the code and swapped out the custom arbitrary precision floating point code for highly optimized libraries, making it even faster. Cross-compiled to Windows from Linux MINGW64. Now with many other enhancements.
You can donate to support my work at ko-fi.com/claudeha.
Kalles Fraktaler 2 + development is mostly stopped from my side, though there may be occasional bug fix releases. In particular this means that the bilinear approximation (BLA) acceleration method, which is much better than series approximation (SA) (including NanoMB1 and NanoMB2) is unlikely to be implemented in KF any time soon. The work required to implement BLA in KF, with over 100 formulas, is simply too great compared to my available time for the project.
On the plus side, there are some other fractal renderers supporting deep zooms with BLA (timings for 16 thread AMD Ryzen 7 2700X CPU running Debian Bullseye):
Fractalshades is a Python package for creating static and interactive visualisations of 2d fractals. It targets Windows and Unix operating systems and implements efficient algorithms for very-deep exploration of the Mandelbrot and the Burning_Ship sets (1.e-2000 scale and beyond).
As an example, it renders a Mandelbrot set minibrot at 5e-433 in just over 2 minutes, where the same location takes about 20 minutes in the latest KF using NanoMB1. It also has much more flexible colouring options, including stripe colouring and lighting effects, but it does not yet support as many formulas as KF.
An application that lets you render some of the most known fractal functions. It comes with alot of options to further enhance your fractal experience! Its easy to use and does not require installation. A java version higher than 1.8 is required to be installed.
As an example, it renders the example minibrot at 5e-433 in just 30 seconds, once configured to use perturbation / BLA and with boundary tracing optimization enabled (without boundary tracing enabled it takes just over 2 minutes).
fraktaler-3 is a cross-platform program (Linux, Windows, Android, Web) for fast deep zooming of hybrid escape-time 2D fractals. It has a graphical explorer using SDL2, OpenGL and Dear ImGUI, and a command line version for high resolution images and zoom sequences, with export of raw data in EXR format compatible with KF and zoomasm.
As an example, it also renders the example minibrot at 5e-433 in just over 2 minutes. It also has an OpenCL mode which allows using a GPU for acceleration, as well as being more efficient even when a CPU is used. Built in colouring options are very limited, and its hybrid formula editor (the only way to define formulas) is less flexible than KF's.
Currently not ready for general use, contact the author if you would like to help test early versions.
If you know of any others (whether closed or open source, payware or gratis), please let me know so I can add them to this list!
There is also an experimental cross-platform fork of KF, maybe it will add BLA in the future.
Download the latest archive from the website: mathr.co.uk/kf/kf.html#download
Unzip it wherever you want, no installation required.
kf.x86_64.exe for 64-bit (recommended),
kf.i686.exe for 32-bit.
Use the mouse scroll wheel to zoom.
Choose different fractal formulas in the formula dialog (Ctrl-F).
Choose different bailout conditions in the bailout dialog (Ctrl-B).
Choose different colours in the colouring dialog (Ctrl-C).
Zoom deeper more quickly with Newton-Raphson zooming (Ctrl-D).
Design your own hybrid fractal formula (Ctrl-H).
Design your own colouring algorithm using GLSL (Ctrl-G).
Wurgo the Making Of with kf-2.15.2 and zoomasm-3.0 : https://archive.org/details/wurgo-the-making-of / https://diode.zone/videos/watch/5dd54244-90b4-423f-aae9-ae6545277c28
Making fractal zoom videos with kf-2.15.1 and zoomasm-1.0 : https://archive.org/details/making-fractal-zoom-videos-with-kf-2.15-and-zoomasm-1.0 / https://diode.zone/videos/watch/d0b5f2f2-2aef-4405-92e6-4459a96ae93b
Legendary Colour Palette : https://diode.zone/videos/watch/e056656b-2349-403a-8c90-af3dc64c6ef1
kf-exp-map-flat-1 : https://archive.org/details/kf-exp-map-flat-1
Legal note: these binaries are released under AGPLv3+ license. If you redistribute the binaries (or provide access to the binaries as a service) you must also be prepared to distribute the source corresponding to those binaries to anyone you distribute the binary to. To make this easier for you, the more recent zips include the source too (though you'll also need to get the library sources - check the about dialog ("?" menu) for details). And of course insert here the usual legal disclaimers about no warranty of any kind.
Latest binary downloads for Windows (64bit recommended, includes 32bit too) which also work in Wine on Linux (you need 7-zip to unpack recent releases):
Older versions (for example for bisecting bugs) can be downloaded by browsing mathr.co.uk/kf. Check the change log for details of what changed in each version.
The source code is available from my git repository:
git clone https://code.mathr.co.uk/kalles-fraktaler-2.git cd kalles-fraktaler-2 git checkout master # for Karl's original upstream git checkout kf-2.12 # for oldest stable branch git checkout kf-2.13 # for older stable branch git checkout kf-2.14 # for old stable branch git checkout kf-2.15 # for current development git tag -l # list available release tags
Build instructions are in the README.md that accompanies the source code, and available online in the manual for Linux and Windows.
I benchmarked with 6 Mandelbrot power 2 locations at various depths, testing each of double, scaled double, long double. Still looking for locations to benchmark scaled long double (deeper than 1e4900 or so) and floatexp (deeper than 1e9800 or so), and formulae other than power 2 Mandelbrot. Please send me locations that you are happy for me to put into the repository for benchmarking.
These results are with a smaller version of the benchmark suite found in my git repository: I only tested 'fast' settings (with both settings for the Derivatives field for kf-2.13 branch, see D0 and D1 tags), and only with an image size of '512x512'. I tested on two machines, one laptop 'latte' (Intel Core 2 Duo P7550) and one desktop 'eiskaffee' (AMD Ryzen 7 2700X).
If you want to contribute results for your machine, let me know and I can guide you through the process.
I don't have Windows, so these benchmarks were run in WINE (the performance of kf-2.11.1 is abysmal in WINE because of a single threaded wineserver or something along those lines). These are all with the 64bit versions. The timings are real/user/sys, which means the elapsed wall-clock time, the total CPU time for all threads, and then kernel time for the process.
|2.11.1||36m46 / 24m47 / 11m03||(not tested yet)|
|188.8.131.52||6m42 / 9m52 / 0m49||1m35 / 5m44 / 0m04|
|2.13.4 D0||6m55 / 10m17 / 0m47||1m38 / 6m30 / 0m05|
|2.13.4 D1||10m25 / 19m22 / 0m15||1m09 / 12m51 / 0m01|
TODO. As I don't have Windows, you sending me benchmark results would be especially appreciated. Also if anyone is using WINE on Mac OS X, if that is a thing.
Here are images of some of the formulas available:
(back to top)