Adjusting parameters in Retinamandelbrot

Parameters are stored in “appdata\mandelbrot.json”. In any case adjust the framerate “framerate”, number of threads “nthread”, and graphics memory “graphicsmemory”. Update your video driver! Use “rmb.bat” to start Retinamandelbrot.

Example configuration:

{
    "framerate": 60,
    "totalmemory": 4000,
    "graphicsmemory": 2000,
    "graphicsrate": 100,
    "nthread": 10,
    "videooptions": {
        "g": 120,
        "preset": "ultrafast",
        "tune": "zerolatency"
    }
}
            

Parameters

framerate. The frame rate of your screen/video card. Default: 60.0 (Hz).

nthread. The total number of threads. Two of them run only sporadically. So “number of cores + 2” is a good choice. When the processor uses hyperthreading sometimes a lower value gives better results.

totalmemory. The amount in MB that Retinamandelbrot uses as fixed memory. Should be small enough to prevent memory paging. Default: available physical memory / 2. If there is stuttering try to lower this.

graphicsmemory. The amount in MB that Retinamandelbrot uses as fixed memory on the video card. This parameter is crucial to prevent stuttering. Default: A minimal guess depending on the resolution. If it is too low, “high res”, photo and video rendering, and also depiction modes with more data will not work properly!

graphicsrate. The amount in MB/s that the video card can upload. Default: graphicsmemory / 5. If there is stuttering try to lower this.

cachesize. This should be either 9, 10 or 11. Default: 10. With the default of 10, Retinamandelbrot calculates roughly 1 GB of cache doing a zoom of 10^50-10^200. If the calculated cache exceeds the memory limit it is paged to the hard disc (by the app itself, not by Windows) becoming quickly a bottleneck. With 9 (resp. 11) this amount is divided by 4 (resp. multiplied by 4). It is recommended to set this parameter to 9 if you want to do really deep zooms (10^1000-10^10000) on a computer with less than 4 GB of memory. With a lot of memory (say, more than 16 GB) and more than 12 processor cores you may try to set it to 11. Warning: The cache saved by “Save fractal” from the menu is only readable with matching cache sizes!

internal canvas size. This should be either 7, 8 or 9. Default: 7. This parameter is not set in “mandelbrot.json”. Instead replace “mandelbrot.exe” by “mandelbrot8.exe” or “mandelbrot9.exe” If you have a 4K (resp. 8K) resolution then a parameter of 8 (resp. 9) might give better results. (Retinamandelbrot uploads data using OpenGL textures of size (2^canvassize)x(2^canvassize), hence by default of size 128x128). Warning: The cache saved by “Save fractal” from the menu is only readable with matching internal canvas sizes!

guiscale, linewidth, pointsize. Default: 1.0, 1, 5. Set this respectively to a higher value on a display with a very high pixel density.

ntrace. Default: 1000. Length of the trace.

GLFW_CONTEXT_VERSION_MAYOR, GLFW_CONTEXT_VERSION_MINOR. Default: 3,0. OpenGL Version. Do not change unless the OpenGL driver is not working.

yreduce. Default: 1. Vertical reduction of full-screen window to prevent a GLFW tearing bug. Try 0. If this works without tearing than it is the better choice.

videooptions. These options are passed on to the H264 codec of ffmpeg to create the video. See ffmpeg documentation.