Rendering Quality in JWildFire (Tutorial)

in #fractal6 years ago (edited)

Rendering is the last step of creating a fractal. All the design and tweaking is over, and then you have to let the computer calculate all the formulas and depict them in pixels, forming an image. Rendering can take anywhere from just seconds to several hours, depending on the settings you choose. Two basic settings that affect the rendering time in JWildFire are Image Size and Quality.

To put it simply, the larger the image size, the more pixels have to be computed and rendered. For a 320x200 thumbnail, there are 64000 pixels; if you double the image size to 640x400, the pixels are four times as many, 256000. A standard resolution for my renders is 1600x1200, 1920000 pixels, i.e. ~2MP. A large image size is useful to see the fractal details, and, you know, fractals are all about the details, right?!

Quality can be considered as a limit to how many iterations will be done in order to compute a single pixel. With low quality, the computation stops before finding the best result for a pixel; a higher quality allows the application to make many calculations and find the best result, the one that is closer to what the pixel should look like. Let's see an example that illustrates the effect of quality:




The left image is rendered with Quality=10 (rendering time: 1.3sec) and the right image with Quality=100 (8.2sec). It is obvious how the pixels are diffused in the first case, while in the second, they are more smooth and continuous.


Another setting that affects rendering quality and time in JWildFire, is Spatial Oversampling: each pixel is computed by taking the average of all surrounding pixels. With a value of 2, 4 pixels are computed (2x2) to assign the average to one specific pixel. With a value of 3, 9 pixels are averaged (3x3), etc. This results in better images, with clear details and colors, but it requires more memory as more calculations are performed: four times more memory for each increment in Spatial Oversampling. Fortunately, JWildFire has optimized algorithms for this purpose, and computation time is only doubled with each increment. So, a smart thing to do for quick test renders of adequate quality is to use low Quality and high Oversampling.

Here, both images are rendered with Quality=100; the left one has Oversampling=1 (8.2sec), while the right one has Oversampling=3 (29sec). To better see the difference, right-click on the image above and select "Open in new tab".

The final image is rendered with Quality=3000 and Oversampling=5 (17m10s).

Of course there are many other parameters that affect rendering time, most importantly the rig you use (memory, processor, etc), and the complexity of the fractal you are rendering, but this cannot be measured and compared easily.

After many tests, I have the impression that for most cases Quality=1000 is enough to get a good image, anything higher has no obvious effect in the image and only increases rendering time. For Oversampling, a value of "2" or "3" is enough to see good results without wasting too much memory.

A final remark: sometimes, you don't want to have a clear and crispy image. You might prefer a grainy result, something that looks worn and dirty instead of a sterile, star-trek like fractal. In this case, lowering the quality might give this effect. In order to change the render quality, you either use the drop-down menu of pre-defined settings or you press "..." and enter the quality setting manually.

Rendering times for the fractal above, image size 512x358 (0.2MP):

QualitySpatial OversamplingRender Time
1011.3s
10018.2s
50316.7s
100329.0s
100033m 25s
3000517m 10s

Thanks for reading this, hope you enjoyed this short and simple tutorial.



Win SBDs for commenting -- click on image for details!

Sort:  

This is different for every machine, also the amount of RAM you dedicate to the program itself. I run a Titan X video card and 128 GB of RAM with 24GB dedicated to JWildfire. So my render times and the quality I reach are way different than what you have posted here. Also the Version of Jwildfire influences all the of the above. I have 7 versions and they all calculate differently. Thanks for writing this, it gave me a bit of insight of what results other users are getting. :)

My rig is like an old LEGO compared to yours! I have 4GB RAM and use just 2 for JWildFire. My renders are usually at 1600x1200, Oversampling of 2 or 3 and Quality 500. If I use higher Oversampling values, I get memory errors! Although I use the latest version, I've seen a bit of the versioning history, and saw that there was a great improvement to render time at 2015.

Thanks again, you were the person to inspire me for using JWildFire and made me play with fractals again, after 10+ years.

I love making Fractals. This PC was built by my Son and Myself just for that purpose. 3D arts. I can remember using a 2 GB laptop to do this with lol. And waiting and waiting and ... lol

I have been wondering how people actually go about making these fractal drawings. I have far to many specific ideas in my head to have time to move into yet another area, but it is quite interesting to see how it is done.

I feel like the fractal making drains too much time, indeed! But sometimes you get amazing results, totally worth the time. In the past I have made a couple of posts showing a bit of the process, if you care to check them out; they are not detailed tutorials, more like a presentation:
https://steemit.com/fractal/@nyarlathotep/bloody-fractals-from-outer-space
https://steemit.com/fractal/@nyarlathotep/cosmic-checkers-with-detailed-process
https://steemit.com/fractals/@nyarlathotep/fractals-and-chaos-theory

Coin Marketplace

STEEM 0.19
TRX 0.13
JST 0.030
BTC 60191.28
ETH 3302.01
USDT 1.00
SBD 2.36