Hello,

over the last years I have spent quite a bit of time thinking about how to render my fractals in the best possible way. I'm quite sensitive to image quality, at least I think so, since I'm often the only one to complain about it in the first place.

Just recently I found a great way for getting phenomenal results that doesn't include any costly software, it uses the completely free tool imagemagick.

Here's a comparison of a part of a FullHD image:

  1. Ultra Fractal's Working Window (using Anti Aliasing) (0.44 s)
  2. Ultra Fractal Rendering, AA Normal (3.92 s)
  3. Ultra Fractal Rendering, AA Non-Adaptive (Threshold 0.1, Depth 4, 3x3) (22 minutes 41.75 seconds!!)
  4. Ultra Fractal Rendering at 16k, AA Normal (3 minutes 8 seconds), then downscaled to FullHD (4.4 s)
  5. (not shown!) like 4 but without AA on the high-res render, cuts down render time from 3 minutes to about 45 seconds, basically no visible difference!

60ca21e55ebf9.png

The downscaling command is:

convert "$infile" -colorspace RGB -resize 1920 -unsharp 0x0.75+0.75+0.008 -colorspace sRGB ../out/"${infile%.png}_2k.png"

Personally, I like the extremely clear look on the rightmost image (number 4) the most. There is some perceptible difference between 2 and 3, but considering that the render time jumped from 4 seconds to about 1362 seconds, which is more than 300 times longer, the result is somewhat underwhelming.

This isn't a complaint or anything, just sharing my findings so maybe someone will find them useful. I'm willing to give some pointers with imagemagick as it's mostly a command line tool and some might not be used to that kind of thing. smile

Phillip

Hello, over the last years I have spent quite a bit of time thinking about how to render my fractals in the best possible way. I'm quite sensitive to image quality, at least I think so, since I'm often the only one to complain about it in the first place. Just recently I found a great way for getting phenomenal results that doesn't include any costly software, it uses the completely free tool imagemagick. Here's a comparison of a part of a FullHD image: 1. Ultra Fractal's Working Window (using Anti Aliasing) **(0.44 s)** 2. Ultra Fractal Rendering, AA Normal **(3.92 s)** 3. Ultra Fractal Rendering, AA Non-Adaptive (Threshold 0.1, Depth 4, 3x3)** (22 minutes 41.75 seconds!!)** 4. Ultra Fractal Rendering at 16k, AA Normal **(3 minutes 8 seconds)**, then downscaled to FullHD **(4.4 s)** 5. (not shown!) _like 4 but without AA on the high-res render, cuts down render time **from 3 minutes to about 45 seconds**, basically no visible difference!_ ![60ca21e55ebf9.png](serve/attachment&path=60ca21e55ebf9.png) The downscaling command is: ```` convert "$infile" -colorspace RGB -resize 1920 -unsharp 0x0.75+0.75+0.008 -colorspace sRGB ../out/"${infile%.png}_2k.png" ```` Personally, I like the extremely clear look on the rightmost image (number 4) the most. There is some perceptible difference between 2 and 3, but considering that the render time jumped from 4 seconds to about 1362 seconds, which is more than 300 times longer, the result is somewhat underwhelming. This isn't a complaint or anything, just sharing my findings so maybe someone will find them useful. I'm willing to give some pointers with imagemagick as it's mostly a command line tool and some might not be used to that kind of thing. :) Phillip
edited Jun 16 '21 at 5:37 pm
 
0
reply

I've used other free image programs that do resizing, including two that I've stuck with, Irfanview and FastStone. I haven't tried imagmagick. It would be interesting and perhaps useful to compare the results from different programs. If you want to share your upr, I could experiment, or if not, try one of my fractals.

I've used other free image programs that do resizing, including two that I've stuck with, Irfanview and FastStone. I haven't tried imagmagick. It would be interesting and perhaps useful to compare the results from different programs. If you want to share your upr, I could experiment, or if not, try one of my fractals.
 
0
reply

Here's the complete thing, it's not a public formula. Feel free to test it on your side. And of course, anyone, feel free to use the formula for whatever if you like it. smile

It would be interesting to compare the results!

Copy4OfFractal3 {
::+T+8hin2lJVwOuNIUw7Wy/DIfq9QdAjBH3VcpVtnr027RUM2GFMwCkmk/3+h0ndSWFp9Gw8e
  zbezwYUqyS7XLLQosJb1iqv7DXRfq9zI/I6n3gpVozmh8sg03gRzaz0cWQw7xIr8qOmEk1+V
  R9gJnEV/a2YtmwL8dE+uGcDpCJdZj0akJjbScVnKL26cbuKZIb8OR13kqjTR/J3QFyHkKT+K
  MFMaRnn9DilT2sJITQzLyQAY6W7aXWHF4aKnh5EOlSYdMKbHuuttvh3hpkeCHtInci2eaDvm
  xaAFNBb7Xo1cab3KPpcUnVwOWTY9to0R9ZRfdXX7+yiRfEmucbeLyLm1Bywg0C6oaWrOK8jj
  oRjV7kLgH+bdKPpt/zNorPNuUt2HIz4VRVGgApfQfRuEs6DO95KU4wfkGr/0qrirBaPkWXIK
  cIvdYlgwhBzfXLYF/IIjVb34SmB9t8LKdpRQZOvTXWAs9Ro0bx8T681s0NIjD1nU2qHK8HXC
  ABbB2rLefeGkb17CQHn0rJIcT5dPf9OYSJBjlUjLLmiyBDw0mGSbctVb0nlbROshGwjuI65I
  l36jCCFyvGaz93bw4tM+GGvrrj039Abf/DAGm13z3fHg2xuDwINgRc7r0ziw5vXK+9PaNMWZ
  x/xvxZPL
}

Testgelände.ufm:testing_example_new {
::XzGPvin2VKZYrNIMQY4vXw/DHOGsxARrbfYjVYsfITuWPbvZMGaitWp/4XixqbtlC7bJv37z
  dXeVWym3CmBQHsAuTxtkwdjlGo0qEHMTUXr6dwFQ59pwieVA8IaWu5huH/aO80vwJhmmsnMZ
  v7mGnPZEXqvstwpdyCKz5C3BnSp1ldILRWU34fOH7OCvDfMIFMLnKwGhvmhNCyiFqE4BWuGk
  0+QXhKct0NgoX83aZDt1Kk88rOBFuFrgxW62nVoyw1OowP96wOU0Qh+yDT11i44ohYrid+TG
  eF9N1duQUjmhZoPHPOKN9WAm/LQOv7KrYc05MufE8El284Ck/aXvnNr24z4Dq+I2QajNizoW
  sSJosvbEMmdKw1ElbdN+BeIbtSjp8PwG2e7s
}
Here's the complete thing, it's not a public formula. Feel free to test it on your side. And of course, anyone, feel free to use the formula for whatever if you like it. :) It would be interesting to compare the results! ```` Copy4OfFractal3 { ::+T+8hin2lJVwOuNIUw7Wy/DIfq9QdAjBH3VcpVtnr027RUM2GFMwCkmk/3+h0ndSWFp9Gw8e zbezwYUqyS7XLLQosJb1iqv7DXRfq9zI/I6n3gpVozmh8sg03gRzaz0cWQw7xIr8qOmEk1+V R9gJnEV/a2YtmwL8dE+uGcDpCJdZj0akJjbScVnKL26cbuKZIb8OR13kqjTR/J3QFyHkKT+K MFMaRnn9DilT2sJITQzLyQAY6W7aXWHF4aKnh5EOlSYdMKbHuuttvh3hpkeCHtInci2eaDvm xaAFNBb7Xo1cab3KPpcUnVwOWTY9to0R9ZRfdXX7+yiRfEmucbeLyLm1Bywg0C6oaWrOK8jj oRjV7kLgH+bdKPpt/zNorPNuUt2HIz4VRVGgApfQfRuEs6DO95KU4wfkGr/0qrirBaPkWXIK cIvdYlgwhBzfXLYF/IIjVb34SmB9t8LKdpRQZOvTXWAs9Ro0bx8T681s0NIjD1nU2qHK8HXC ABbB2rLefeGkb17CQHn0rJIcT5dPf9OYSJBjlUjLLmiyBDw0mGSbctVb0nlbROshGwjuI65I l36jCCFyvGaz93bw4tM+GGvrrj039Abf/DAGm13z3fHg2xuDwINgRc7r0ziw5vXK+9PaNMWZ x/xvxZPL } Testgelände.ufm:testing_example_new { ::XzGPvin2VKZYrNIMQY4vXw/DHOGsxARrbfYjVYsfITuWPbvZMGaitWp/4XixqbtlC7bJv37z dXeVWym3CmBQHsAuTxtkwdjlGo0qEHMTUXr6dwFQ59pwieVA8IaWu5huH/aO80vwJhmmsnMZ v7mGnPZEXqvstwpdyCKz5C3BnSp1ldILRWU34fOH7OCvDfMIFMLnKwGhvmhNCyiFqE4BWuGk 0+QXhKct0NgoX83aZDt1Kk88rOBFuFrgxW62nVoyw1OowP96wOU0Qh+yDT11i44ohYrid+TG eF9N1duQUjmhZoPHPOKN9WAm/LQOv7KrYc05MufE8El284Ck/aXvnNr24z4Dq+I2QajNizoW sSJosvbEMmdKw1ElbdN+BeIbtSjp8PwG2e7s } ````
 
0
reply

Sorry for the double post, but I did some more work on this to establish a baseline for comparison. Since I spent several hours in the past weeks testing this stuff, I though people might as well benefit from my obsessive testing, it would be a shame if it went to waste. I might repeat this series with an image that has some thin lines in addition to pixelated areas.

The following code is for a 200x400 pixel section of the previous fractal I use for the comparisons below. The following fractal was used, rendered at 200x400 pixels:

AA_testing {
::fEUEGjn2lJVwuuNIQw7RK/DIfvOgxYsfVc4FpesSVK9uFFjtRBDuApvk/3+h0FnkniUvBM7M
  7szyYQqSS7b73hQJTyqFFv/efSHTG3UB6DzQaWUhxoZtZaOJqhjW5NdIKIZOqgewkiiifMbs
  Wz6XbOQ4HqwVkCk0lMSrRGBpE30x972Yu1LlcNZ8ORxRp68UwfxNUg8rSlJdTQgmsoTz+Bxy
  FbysKjA5F56Ko0d6aXSHE4SaDDXx74UKnUj5sD4y66uqaKh0wqaq6aZoF5kTQptMaJvtNTX6
  mgJ9L0yGaNHFTBdSNLIlEWXNKeW/horkzrhaH9BwCytmuIvaydlU3hRr6gaWrOL8jjoRjV7k
  LQ49TI5m02/6G0lXGXKy8AvGuJKgYYu/7H7PeqXdTZ3y31+fJNW/lUemLBV7j5hiCHSbHy8X
  7HM/JXQG/M4ic0bcRzg++eLIdxRwYOvTvfHo2/DF/dI9iNPlkuBZYo8iyW80gf76KIw2S70i
  3nmzW8TDoDT68WEup8uXv+AMqkQoSKx73NFkDGQpNPE30ar2gPJ3W7wEagI6qorBp8WPEqUK
  lURre8O8lbbPfHrhz5kO+Ts2unAMMrrrp9BAlzeAwIVQQc/70rmw5fUK+zPbVM2+d/DlRNfY
}

Testgelände.ufm:sinh_MB_BS_cycling {
::iRPBOgn2VKZQPNIQQU47kw/hJYMRjJEooHsxmY4un8uktwS7UWWIdXqtk+j3dYXBt12Evt7b
  efzM7DQJqn77BQPsAupF3zF0NUqhKjSkvnoppdwBWCV3mALGUBwioQ5676v/jZwD/AnLU8J7
  xT27vqxZTGZLVn3W47dyAKLwS6ApUZcZGySGKa6sPnj9HhXgXdS+eF8SWnwWTjaB3gFQLf2b
  pZpvnlfIXgyVBU9a2KJNnwns32ja+WjQ8jPTCtstsaYsz0alza1YDBFka1hdMRHPwW2NcqFR
  Rhu0rGJ/xuHzQTpzliGm2ND1p4RhJJXDQ/fBKwd/xKGFeKD9/gloykHnh8b7qPRd+abUfo9C
  Jd2mOByGCIFnXYMN+Z2FtGpxQ+LASQZubA==
}

Feel free to use this for your own tests.

Below is a rather comprehensive comparison of different render methods:
NOTE: THE FORUM SQUISHES THE IMAGE INTO THE PAGE COLUMN, MAKING THEM SOMEWHAT SMALLER. OPEN THEM IN A SEPARATE TAB TO SEE THE THEM AT 100% SIZE
UF AA Presets:
None, Qucik, Normal, Non-Adaptive
60cb15fac55f1.png

UF AA Custom with Threshold 0.1, Subdivisions 4 (2x2)
Depth of 1, 2, 3, 4
60cb15fbeb945.png

UF AA Custom with Threshold 0.1, Subdivisions 9 (3x3)
Depth of 1, 2, 3, 4
60cb15fbeb6e9.png

The supersampling section includes more images than are necessary because I wanted to see at which point supersampling stops benefitting from UFs native normal AA:

Supersampling, base image Rendered with AA Off
2x2, 3x3, 4x4, 5x5
60cb1964b6c9b.png
6x6, 7x7, 8x8, 12x12
60cb1965bfc53.png
Supersampling, base image rendered with AA Normal
2x2, 3x3, 4x4, 5x5
60cb19660aa71.png
6x6, 7x7, 8x8, 12x12
60cb19661ad75.png

Render times for the different methods in seconds:
60cb1a74dd69c.png
The render times in this chart range from 0.04 s (A01) to 129.72 s (C04). Activating normal AA increases the render time by a factor of about 9. Not too surprising as it's a very pixelated image and adaptive AA will have to work on a large part of the image, this is further illustrated by non-adaptive AA taking only 20% longer than normal AA.

The custom AA is extremely dependent on the chosen depth and as shown in the images above, higher depth settings do little to improve the quality while inflating the render time beyond any reasonable quality/time ratio. Note that the 129 second render was a 200x400 pixel fractal on a Ryzen 9 3900X!

Manual super-sampling from a non-anti-aliased fractal (i.e. rendering a larger version and then using imagemagic to downscale the image) yields great results starting at around 5x5 SS, beyond that there are little to no visible differences between the images. For most purposes 4x4 will be sufficient. When combining UF's normal AA with manual SS, even 2x2 SS seems to do great, using higher SS together with UF's normal AA doesn't improve the image quality in any way that I could see.

Normal and non-adaptive AA do a similar job in this particular instance, but non-adaptive might pull ahead with thin lines on smooth background (see manual). Custom AA with 4 subdivisions doesn't seem to be worth it for final high quality renders, at 9 subdivisions results are good with a depth of 2, anything higher takes unreasonably long while doing essentially nothing for image quality.

However, due to the missing sharpening done when downscaling with Imagemagick, the colors in high-detail areas look a lot more washed out with all of UF's built in methods. Some people might like the smoother look, for those, the normal AA or custom using 0.1/2/9 will do just fine. It seems that for a rather pixelated fractal, it takes about 12 - 20 times the time of the raw non-anti-aliased fractal's render time to achieve what I would consider a pristine render.

In my opinion, the sweet spot for best image quality in UF alon is either A03 or C02. When willing to use ImageMagick, it is either D03 for most applications and users, or D04 for very picky users. Their render times are as follows:

A03: 0.35 s for users who are OK with the smooth look)
C02: 2.37 s for users who want more detail but not use any 3rd party software
D03: 0.52 s sweet spot for most renders
D04: 0.74 s sweet spot for ultra HQ renders

//edit: As expected, thin lines, especially where they're dense, are even trickier to render. Here's the test fractal:

AA_testing2 {
::PUF7zgn2tb1SPutNQ47Gw/HE8dLz3UqB8Q6jbFFBI9+CaJKbiVmUViez6+rvDlEl1igsJBNn
  SytRDn387jja61VBd7vsdTWWwGaNqdv9tPEMDBr7EZX2Hs1hzKCCld2YPdOoYgYr+mpfQxiO
  V1bqthB1u3d222a7ej4AWeggI4db3Ma4Ysr0dBr3p29nRVZ0dZ+OdlNcThhAex0fycxXbU+n
  M9gXgmwZft6y12gtTPMsdzFdXHUTTRz4CmeFKnSICkQgKY8SEhcAljolYhUQEF0CJFXyzuoP
  5gOoskJzlio7a3JoR5F5FMKf7mGfPkH9Ykvof2GDNUVosOTf1ZT1jKfTTWjt140XgB078t3c
  +LWdb2v7ves1k17D6Y7lft5yuYYg6r/2aL3l19wRtt1fNowGMH+UjV4DooAJJQVoDoo/gMPp
  UA9JCN/hMaRUgF7eM04xeWSYyoyi7+fErIjWekoYTC0ZfPyTHJmzxR5dHfUtHljFiSK+w+Ym
  5FcGofIo7DTmZdD2azEmpX7GagBmz7Mb3At3HfUr1Z09rGg2mj5XrgZy8Y63uWdGuAsu4UqL
  2u8pa5fGlBBHIgzaeoBr0Bt7cUkoq8Au4Uvu2CBaMnDX8eAvezMkZd1mnVkysKfrvXRJySGm
  OruENrGTxiyiiyZ9YOdEfNemkQKRccKSExiPFEOAwTHIkpcgKw8So2nx2rLJnf2c0Cynw5vC
  Fh8SKyT2BLA1ix5jYLjA3vnJMkiXhvsQWmJOft8lFyyMx5Lmv8pILTx5bIf5kr+F8F47912h
  H3Dzbw49OvdwsbKtAiYIiiw5x6bEXCgAYyOaa2fNaas88t26Iaq7B4yby3a4abwAFdOgNoT9
  sHWP8kZQFnXdxYPEMuKDYTkXOUpBgBkrpAk8fakPCaWkA/6AGyYZNYM1wtKlxBuDQldYFMFc
  h5JXrvzMVaPvae09w/ukulPIQhQgvanyWJKVKmWzTjQM1UKh5VYEYgwfu3MSvNADBsgyn1KJ
  JWOnTFUxyLG87vYgxIOlVUkOrgPfAjJZ4F9EBLlCODRKHfzZ6IKK5CuEoUF0vNPmg/5jJ33+
  SR/As9FoTDxrbeOjIfl3WePsOtW3P9Azqh3f3bHvoGXJ7/A4ax6h4fQRfOaEuItHFViZy06S
  5yaUOGWwyS6hm+ORiIIEZBJxX4L+IAOFFJ//yK+Vd1jn69Xd1vCx47ZOAB9D9fg+CUfaW9+R
  Y0KA/Snsas9Fv8ghKZ0FQPOBsLFIJSmw8oV/uZBhShmeh9QXtvBjZJuALpHHH6wRrXekOjQh
  pXkQ9VQT+Pgv2wSX
}

Polynomial_Double_rotation.ufm:Polynomial {
;
; Mandelbrot Set.
;
::xYeQKin2Va52OtRMQY47Ri3hR0eBJ0iyu5EiWkiaJIBqtqqH4qqKNbWHiVcsXt2LBQ8wXPj3
  tJkjscDj945zz41+fiULdnf4BA8EcB8mM5DCFNaaL/wRG7xDm24kjb9uoGNtSNNi96dGd4BK
  jJ78qxTbOtVFnpNPeAG18p/OIJCOBGgxsdMb3mtbz2da8iQ6yu6yu6x29Y7+sdf2+sG+/Vlo
  JoUZKCFwzP9M8xLgBlzd4BpixYhK40JdKhfbO6roOVoSyNO47G1jazMJqOiWyIh2Jy9rxXuQ
  LOxywccGYdYujG6XDm5kGNB6n0sS9dQmRqdHF8XulBIBGAMx7ni4XTEBW/PqwGIotdEqhEBU
  YFpgzApSrzk7AnPmlS5/EIW9nV4OF+tVUmywYTOHhfX0pYe6yhSrlzShOl32FFYS0aV3wHyM
  a/BCE9+o1rt4yabDoi3Fq4tfMtBUt3Fq21CV3tjKeTFY02R1bXoqXB2fXoeVF4CY46fD/sRM
  esckcrfG3eVix7hWcto1eP0q1HTszGoppr8eU1CU3dmW18iB2bP0q1dDs/eoVvjsz2+RW8r9
  e2YlBdVXdr0YXh6nCzD3jqCxag7carwUzk0q9De71Xd5wrgbH+jOluElvA8qy+l4yLE+VN8b
  Xe9VrKmKtLJf63EpWYhJm5g14TGvcqJPR64U1CUSNfi03DYFJUpPakUkPF+CmfnHFn7W4O59
  eh0ZGjXQNniXRbwHqcj5mCdK0ZVecYzM5CQStTEWWt3OBzWEELRTS33GYpEWrfSfKvGu5Sl6
  FNDGnjjcoaVpc7cpb0kQruHz4Od3UokIvMrw3UZ5u7YkfYQxAjJT+5O2mM53qYHykfohdJT+
  pC2jM575YfykvkmQwCtQSIYhWAJEsgEeCRIIBnQECSoJEhgEI/zH45Kv+cxiLY/DHM0VNC==
}

ifb.ucl:Cuchulain {
;Caracas, Venezuela
;Jan 09 2003
::2o7IAgn2FGVXrJMQQw3F8/wWFpJKoJC2HKEQUof8aBftwm72oHceXM3Far4P+uJxYrRK9e6m
  hZndu5UGl/x+9y0W0DIkARTjahpXDFXDltQt1mzWA1HMJdy0o4WYaSKMJYpJslQkImUQoOYZ
  WcwwjhwYIN89l5wMAb1ITktamHca4xTjFhsmDsmUe7KDqvsvhKjk+kjSgY0DRRhzCkjmvIi3
  nkywStvWpX51ELaw6SxuSNqMDqozxCcPk34lAz9KrJZwzIBrs6tDa4P7TC/WX0wsTZ8VmtxR
  gfHBtDAeL4y1KfNLZo9KyBsYLkrIB5ur2SyIrX8PJ4QnE8it0IBbGsuUrRz/GkXNCuvcKz26
  Nvra87dQu9DqAcC07pC3Vhi9ej2x0n9+3Zq57tJZmOJbF7F3kvhbpbSV81hirBlDcoSCXadY
  LnTv+LwXgGXmtYPJ5B27IdGXU8VHUwePlP30VZlGBkF3JRPxsV3g4OBirjgwLvuqhZQjHz/L
  Pm3xDh11xjqr971v33gP6f+j
}

gnd.ucl:gnd-disk-perlin-noise {
; According to "Disk Plasma" colouring method
; Mark Townsend, June 1st, 2000
; Based on an idea from Earl Hinrich
;
; "Perlin Noise"
; Colouring method by Mark Townsend, Nov 17th, 2000
; Based on original code by Ken Perlin,
; with ideas from Damien M. Jones.
; Slope method according to Damien M. Jones's work.
;
; Gilles Nadeau, April 28th, 2008
;
::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
  LC+Xt9sC4C==
}

Again from left to right:
UF built in:
None, normal, non-adaptive, custom (0.1, 2, 9)
60cb2d1f9e41d.png

Supersampling from UF high-res render, AA off
3x3, 4x4, 6x6, 8x8
60cb2d1e92e66.png
Supersampling from UF high-res render, AA normal
2x2, 3x3, 4x4, 12x12 (!)
60cb2d1f9b9e8.png

So it seems that for this image, extreme supersampling is required. The only render I would consider flawless is the bottom left (AA normal, 12x12 supersampling) which is complete overkill for most purposes. But it's the only one where the thin lines aren't translated into moirée or at least some kind of noise.

Sorry for the double post, but I did some more work on this to establish a baseline for comparison. Since I spent several hours in the past weeks testing this stuff, I though people might as well benefit from my obsessive testing, it would be a shame if it went to waste. I might repeat this series with an image that has some thin lines in addition to pixelated areas. The following code is for a 200x400 pixel section of the previous fractal I use for the comparisons below. The following fractal was used, rendered at 200x400 pixels: ```` AA_testing { ::fEUEGjn2lJVwuuNIQw7RK/DIfvOgxYsfVc4FpesSVK9uFFjtRBDuApvk/3+h0FnkniUvBM7M 7szyYQqSS7b73hQJTyqFFv/efSHTG3UB6DzQaWUhxoZtZaOJqhjW5NdIKIZOqgewkiiifMbs Wz6XbOQ4HqwVkCk0lMSrRGBpE30x972Yu1LlcNZ8ORxRp68UwfxNUg8rSlJdTQgmsoTz+Bxy FbysKjA5F56Ko0d6aXSHE4SaDDXx74UKnUj5sD4y66uqaKh0wqaq6aZoF5kTQptMaJvtNTX6 mgJ9L0yGaNHFTBdSNLIlEWXNKeW/horkzrhaH9BwCytmuIvaydlU3hRr6gaWrOL8jjoRjV7k LQ49TI5m02/6G0lXGXKy8AvGuJKgYYu/7H7PeqXdTZ3y31+fJNW/lUemLBV7j5hiCHSbHy8X 7HM/JXQG/M4ic0bcRzg++eLIdxRwYOvTvfHo2/DF/dI9iNPlkuBZYo8iyW80gf76KIw2S70i 3nmzW8TDoDT68WEup8uXv+AMqkQoSKx73NFkDGQpNPE30ar2gPJ3W7wEagI6qorBp8WPEqUK lURre8O8lbbPfHrhz5kO+Ts2unAMMrrrp9BAlzeAwIVQQc/70rmw5fUK+zPbVM2+d/DlRNfY } Testgelände.ufm:sinh_MB_BS_cycling { ::iRPBOgn2VKZQPNIQQU47kw/hJYMRjJEooHsxmY4un8uktwS7UWWIdXqtk+j3dYXBt12Evt7b efzM7DQJqn77BQPsAupF3zF0NUqhKjSkvnoppdwBWCV3mALGUBwioQ5676v/jZwD/AnLU8J7 xT27vqxZTGZLVn3W47dyAKLwS6ApUZcZGySGKa6sPnj9HhXgXdS+eF8SWnwWTjaB3gFQLf2b pZpvnlfIXgyVBU9a2KJNnwns32ja+WjQ8jPTCtstsaYsz0alza1YDBFka1hdMRHPwW2NcqFR Rhu0rGJ/xuHzQTpzliGm2ND1p4RhJJXDQ/fBKwd/xKGFeKD9/gloykHnh8b7qPRd+abUfo9C Jd2mOByGCIFnXYMN+Z2FtGpxQ+LASQZubA== } ```` Feel free to use this for your own tests. Below is a rather comprehensive comparison of different render methods: **NOTE: THE FORUM SQUISHES THE IMAGE INTO THE PAGE COLUMN, MAKING THEM SOMEWHAT SMALLER. OPEN THEM IN A SEPARATE TAB TO SEE THE THEM AT 100% SIZE** **UF AA Presets:** None, Qucik, Normal, Non-Adaptive ![60cb15fac55f1.png](serve/attachment&path=60cb15fac55f1.png) **UF AA Custom with Threshold 0.1, Subdivisions 4 (2x2)** Depth of 1, 2, 3, 4 ![60cb15fbeb945.png](serve/attachment&path=60cb15fbeb945.png) **UF AA Custom with Threshold 0.1, Subdivisions 9 (3x3)** Depth of 1, 2, 3, 4 ![60cb15fbeb6e9.png](serve/attachment&path=60cb15fbeb6e9.png) The supersampling section includes more images than are necessary because I wanted to see at which point supersampling stops benefitting from UFs native normal AA: **Supersampling, base image Rendered with AA Off** 2x2, 3x3, 4x4, 5x5 ![60cb1964b6c9b.png](serve/attachment&path=60cb1964b6c9b.png) 6x6, 7x7, 8x8, 12x12 ![60cb1965bfc53.png](serve/attachment&path=60cb1965bfc53.png) **Supersampling, base image rendered with AA Normal** 2x2, 3x3, 4x4, 5x5 ![60cb19660aa71.png](serve/attachment&path=60cb19660aa71.png) 6x6, 7x7, 8x8, 12x12 ![60cb19661ad75.png](serve/attachment&path=60cb19661ad75.png) Render times for the different methods in seconds: ![60cb1a74dd69c.png](serve/attachment&path=60cb1a74dd69c.png) The render times in this chart range from 0.04 s (A01) to 129.72 s (C04). Activating normal AA increases the render time by a factor of about 9. Not too surprising as it's a very pixelated image and adaptive AA will have to work on a large part of the image, this is further illustrated by non-adaptive AA taking only 20% longer than normal AA. The custom AA is extremely dependent on the chosen depth and as shown in the images above, higher depth settings do little to improve the quality while inflating the render time beyond any reasonable quality/time ratio. Note that the 129 second render was a 200x400 pixel fractal on a Ryzen 9 3900X! Manual super-sampling from a non-anti-aliased fractal (i.e. rendering a larger version and then using imagemagic to downscale the image) yields great results starting at around 5x5 SS, beyond that there are little to no visible differences between the images. For most purposes 4x4 will be sufficient. When combining UF's normal AA with manual SS, even 2x2 SS seems to do great, using higher SS together with UF's normal AA doesn't improve the image quality in any way that I could see. Normal and non-adaptive AA do a similar job in this particular instance, but non-adaptive might pull ahead with thin lines on smooth background (see manual). Custom AA with 4 subdivisions doesn't seem to be worth it for final high quality renders, at 9 subdivisions results are good with a depth of 2, anything higher takes unreasonably long while doing essentially nothing for image quality. However, due to the missing sharpening done when downscaling with Imagemagick, the colors in high-detail areas look a lot more washed out with all of UF's built in methods. Some people might like the smoother look, for those, the normal AA or custom using 0.1/2/9 will do just fine. It seems that for a rather pixelated fractal, it takes about 12 - 20 times the time of the raw non-anti-aliased fractal's render time to achieve what I would consider a pristine render. In my opinion, the sweet spot for best image quality in UF alon is either A03 or C02. When willing to use ImageMagick, it is either D03 for most applications and users, or D04 for very picky users. Their render times are as follows: A03: 0.35 s for users who are OK with the smooth look) C02: 2.37 s for users who want more detail but not use any 3rd party software D03: 0.52 s sweet spot for most renders D04: 0.74 s sweet spot for ultra HQ renders //edit: As expected, thin lines, especially where they're dense, are even trickier to render. Here's the test fractal: ```` AA_testing2 { ::PUF7zgn2tb1SPutNQ47Gw/HE8dLz3UqB8Q6jbFFBI9+CaJKbiVmUViez6+rvDlEl1igsJBNn SytRDn387jja61VBd7vsdTWWwGaNqdv9tPEMDBr7EZX2Hs1hzKCCld2YPdOoYgYr+mpfQxiO V1bqthB1u3d222a7ej4AWeggI4db3Ma4Ysr0dBr3p29nRVZ0dZ+OdlNcThhAex0fycxXbU+n M9gXgmwZft6y12gtTPMsdzFdXHUTTRz4CmeFKnSICkQgKY8SEhcAljolYhUQEF0CJFXyzuoP 5gOoskJzlio7a3JoR5F5FMKf7mGfPkH9Ykvof2GDNUVosOTf1ZT1jKfTTWjt140XgB078t3c +LWdb2v7ves1k17D6Y7lft5yuYYg6r/2aL3l19wRtt1fNowGMH+UjV4DooAJJQVoDoo/gMPp UA9JCN/hMaRUgF7eM04xeWSYyoyi7+fErIjWekoYTC0ZfPyTHJmzxR5dHfUtHljFiSK+w+Ym 5FcGofIo7DTmZdD2azEmpX7GagBmz7Mb3At3HfUr1Z09rGg2mj5XrgZy8Y63uWdGuAsu4UqL 2u8pa5fGlBBHIgzaeoBr0Bt7cUkoq8Au4Uvu2CBaMnDX8eAvezMkZd1mnVkysKfrvXRJySGm OruENrGTxiyiiyZ9YOdEfNemkQKRccKSExiPFEOAwTHIkpcgKw8So2nx2rLJnf2c0Cynw5vC Fh8SKyT2BLA1ix5jYLjA3vnJMkiXhvsQWmJOft8lFyyMx5Lmv8pILTx5bIf5kr+F8F47912h H3Dzbw49OvdwsbKtAiYIiiw5x6bEXCgAYyOaa2fNaas88t26Iaq7B4yby3a4abwAFdOgNoT9 sHWP8kZQFnXdxYPEMuKDYTkXOUpBgBkrpAk8fakPCaWkA/6AGyYZNYM1wtKlxBuDQldYFMFc h5JXrvzMVaPvae09w/ukulPIQhQgvanyWJKVKmWzTjQM1UKh5VYEYgwfu3MSvNADBsgyn1KJ JWOnTFUxyLG87vYgxIOlVUkOrgPfAjJZ4F9EBLlCODRKHfzZ6IKK5CuEoUF0vNPmg/5jJ33+ SR/As9FoTDxrbeOjIfl3WePsOtW3P9Azqh3f3bHvoGXJ7/A4ax6h4fQRfOaEuItHFViZy06S 5yaUOGWwyS6hm+ORiIIEZBJxX4L+IAOFFJ//yK+Vd1jn69Xd1vCx47ZOAB9D9fg+CUfaW9+R Y0KA/Snsas9Fv8ghKZ0FQPOBsLFIJSmw8oV/uZBhShmeh9QXtvBjZJuALpHHH6wRrXekOjQh pXkQ9VQT+Pgv2wSX } Polynomial_Double_rotation.ufm:Polynomial { ; ; Mandelbrot Set. ; ::xYeQKin2Va52OtRMQY47Ri3hR0eBJ0iyu5EiWkiaJIBqtqqH4qqKNbWHiVcsXt2LBQ8wXPj3 tJkjscDj945zz41+fiULdnf4BA8EcB8mM5DCFNaaL/wRG7xDm24kjb9uoGNtSNNi96dGd4BK jJ78qxTbOtVFnpNPeAG18p/OIJCOBGgxsdMb3mtbz2da8iQ6yu6yu6x29Y7+sdf2+sG+/Vlo JoUZKCFwzP9M8xLgBlzd4BpixYhK40JdKhfbO6roOVoSyNO47G1jazMJqOiWyIh2Jy9rxXuQ LOxywccGYdYujG6XDm5kGNB6n0sS9dQmRqdHF8XulBIBGAMx7ni4XTEBW/PqwGIotdEqhEBU YFpgzApSrzk7AnPmlS5/EIW9nV4OF+tVUmywYTOHhfX0pYe6yhSrlzShOl32FFYS0aV3wHyM a/BCE9+o1rt4yabDoi3Fq4tfMtBUt3Fq21CV3tjKeTFY02R1bXoqXB2fXoeVF4CY46fD/sRM esckcrfG3eVix7hWcto1eP0q1HTszGoppr8eU1CU3dmW18iB2bP0q1dDs/eoVvjsz2+RW8r9 e2YlBdVXdr0YXh6nCzD3jqCxag7carwUzk0q9De71Xd5wrgbH+jOluElvA8qy+l4yLE+VN8b Xe9VrKmKtLJf63EpWYhJm5g14TGvcqJPR64U1CUSNfi03DYFJUpPakUkPF+CmfnHFn7W4O59 eh0ZGjXQNniXRbwHqcj5mCdK0ZVecYzM5CQStTEWWt3OBzWEELRTS33GYpEWrfSfKvGu5Sl6 FNDGnjjcoaVpc7cpb0kQruHz4Od3UokIvMrw3UZ5u7YkfYQxAjJT+5O2mM53qYHykfohdJT+ pC2jM575YfykvkmQwCtQSIYhWAJEsgEeCRIIBnQECSoJEhgEI/zH45Kv+cxiLY/DHM0VNC== } ifb.ucl:Cuchulain { ;Caracas, Venezuela ;Jan 09 2003 ::2o7IAgn2FGVXrJMQQw3F8/wWFpJKoJC2HKEQUof8aBftwm72oHceXM3Far4P+uJxYrRK9e6m hZndu5UGl/x+9y0W0DIkARTjahpXDFXDltQt1mzWA1HMJdy0o4WYaSKMJYpJslQkImUQoOYZ WcwwjhwYIN89l5wMAb1ITktamHca4xTjFhsmDsmUe7KDqvsvhKjk+kjSgY0DRRhzCkjmvIi3 nkywStvWpX51ELaw6SxuSNqMDqozxCcPk34lAz9KrJZwzIBrs6tDa4P7TC/WX0wsTZ8VmtxR gfHBtDAeL4y1KfNLZo9KyBsYLkrIB5ur2SyIrX8PJ4QnE8it0IBbGsuUrRz/GkXNCuvcKz26 Nvra87dQu9DqAcC07pC3Vhi9ej2x0n9+3Zq57tJZmOJbF7F3kvhbpbSV81hirBlDcoSCXadY LnTv+LwXgGXmtYPJ5B27IdGXU8VHUwePlP30VZlGBkF3JRPxsV3g4OBirjgwLvuqhZQjHz/L Pm3xDh11xjqr971v33gP6f+j } gnd.ucl:gnd-disk-perlin-noise { ; According to "Disk Plasma" colouring method ; Mark Townsend, June 1st, 2000 ; Based on an idea from Earl Hinrich ; ; "Perlin Noise" ; Colouring method by Mark Townsend, Nov 17th, 2000 ; Based on original code by Ken Perlin, ; with ideas from Damien M. Jones. ; Slope method according to Damien M. Jones's work. ; ; Gilles Nadeau, April 28th, 2008 ; ::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 LC+Xt9sC4C== } ```` Again from left to right: **UF built in:** None, normal, non-adaptive, custom (0.1, 2, 9) ![60cb2d1f9e41d.png](serve/attachment&path=60cb2d1f9e41d.png) **Supersampling from UF high-res render, AA off** 3x3, 4x4, 6x6, 8x8 ![60cb2d1e92e66.png](serve/attachment&path=60cb2d1e92e66.png) **Supersampling from UF high-res render, AA normal** 2x2, 3x3, 4x4, 12x12 (!) ![60cb2d1f9b9e8.png](serve/attachment&path=60cb2d1f9b9e8.png) So it seems that for this image, extreme supersampling is required. The only render I would consider flawless is the bottom left (AA normal, 12x12 supersampling) which is complete overkill for most purposes. But it's the only one where the thin lines aren't translated into moirée or at least some kind of noise.
edited Jun 17 '21 at 12:11 pm
 
0
reply

Thanks for the detailed comparisons! It's on my to-do list to improve the anti-aliasing algorithm for the render to disk feature -- I agree that it can make the image fuzzier than it needs to be. Theoretically it should be better than just upsampling when rendering and downsizing later, but at the moment, it often isn't and that is not what you want.

Thanks for the detailed comparisons! It's on my to-do list to improve the anti-aliasing algorithm for the render to disk feature -- I agree that it can make the image fuzzier than it needs to be. Theoretically it should be better than just upsampling when rendering and downsizing later, but at the moment, it often isn't and that is not what you want.

Ultra Fractal author

 
0
reply

I also did some testing on Philip's original fractal. A useful experiment is to open a fractal at the size of rendered images. Use pixel as the formula and image from standard.ucl as the coloring. Use two layers with two different renders and Difference as the merge mode.

I found that depth 2 and depth 3 gave the same image, i.e. the result was all black. Depth 4 was not better.

Some have suggested rendering with double or triple the original linear dimensions and normal anti-aliasing, then downsizing. I tried this, downsizing with FastStone image viewer (Lanczos2 filter); it gave slightly better results than the original. The downsized double, triple, and quadruple versions were apparently identical.

I often find that post-processing with slightly increased contrast and/or slight sharpening is better and quicker than custom anti-aliasing. It of course depends on the particular fractal. This seems to be source of the improvement noticed when Philip used imagemagick.

I also did some testing on Philip's original fractal. A useful experiment is to open a fractal at the size of rendered images. Use pixel as the formula and image from standard.ucl as the coloring. Use two layers with two different renders and Difference as the merge mode. I found that depth 2 and depth 3 gave the same image, i.e. the result was all black. Depth 4 was not better. Some have suggested rendering with double or triple the original linear dimensions and normal anti-aliasing, then downsizing. I tried this, downsizing with FastStone image viewer (Lanczos2 filter); it gave slightly better results than the original. The downsized double, triple, and quadruple versions were apparently identical. I often find that post-processing with slightly increased contrast and/or slight sharpening is better and quicker than custom anti-aliasing. It of course depends on the particular fractal. This seems to be source of the improvement noticed when Philip used imagemagick.
 
0
reply

Yes, I'm pretty sure it's the sharpening that is doing the most heavy lifting when it comes to the ultimate improvement in image quality compared to UF's built-in functions. I recently implemented a jitter transform to see if it helps with moiré. It helps a bit but it's tricky to get it right.

Is there a way to access the size of a pixel, i.e. the distance to the pixels nearby, during either transform or fractal calculations? This would greatly help to automatically determine the jitter amount.

Yes, I'm pretty sure it's the sharpening that is doing the most heavy lifting when it comes to the ultimate improvement in image quality compared to UF's built-in functions. I recently implemented a jitter transform to see if it helps with moiré. It helps a bit but it's tricky to get it right. Is there a way to access the **size** of a pixel, i.e. the distance to the pixels nearby, during either transform or fractal calculations? This would greatly help to automatically determine the jitter amount.
 
0
reply

Hello again,

I found an older post on this forum that let me access pixel dimensions. Using that I modified a very simple jitter transform that I wrote to try and get rid of heavy moiré in some fractals. High bailout gaussian integer is a prime example for this. The structures that are caused by the very dense and regularly spaced dots can cause moiré effects that span hundreds of pixels, no amount of anti-aliasing will ever get rid of those. Here's an example of a raw render using UF's normal AA:

60dadced28232.png

Here's a comparison using jitter:
60dadd1ae41a6.png

I also tested supersampling:
A: Raw UF render, normal AA: native, 4xSS, 16xSS, 64xSS
60dae1611293a.png
B: UF render with jitter, normal AA: native, 4xSS, 16xSS, 64xSS
60dae160d5e22.png

So you see that jitter can help with moiré, but it still adds quite a bit of noise that needs to be dealt with. The good thing is that it doesn't change the render time, so there is no additional cost when going from A to B. I will upload the jitter transform to the public formulas ASAP.

Phillip

Hello again, I found an older post on this forum that let me access pixel dimensions. Using that I modified a very simple jitter transform that I wrote to try and get rid of heavy moiré in some fractals. High bailout gaussian integer is a prime example for this. The structures that are caused by the very dense and regularly spaced dots can cause moiré effects that span hundreds of pixels, no amount of anti-aliasing will ever get rid of those. Here's an example of a raw render using UF's normal AA: ![60dadced28232.png](serve/attachment&path=60dadced28232.png) Here's a comparison using jitter: ![60dadd1ae41a6.png](serve/attachment&path=60dadd1ae41a6.png) I also tested supersampling: **A:** Raw UF render, normal AA: native, 4xSS, 16xSS, 64xSS ![60dae1611293a.png](serve/attachment&path=60dae1611293a.png) **B:** UF render with jitter, normal AA: native, 4xSS, 16xSS, 64xSS ![60dae160d5e22.png](serve/attachment&path=60dae160d5e22.png) So you see that jitter can help with moiré, but it still adds quite a bit of noise that needs to be dealt with. The good thing is that it doesn't change the render time, so there is no additional cost when going from **A** to **B**. I will upload the jitter transform to the public formulas ASAP. Phillip
 
0
reply

That's a good idea, and it could be a built-in rendering option.

That's a good idea, and it could be a built-in rendering option.

Ultra Fractal author

 
0
reply

Glad you like it! If you're interested, there's a Discord server of fractal artists (not UF only) and there are some people who are really good with graphic programming. They could probably come up with much better version of what I posted here, and they're generally really helpful.

Here's an invite link: https://discord.gg/fSb4gq8e

Just a suggestion, feel free to join or not. Other fractal software devs are hanging out there too, and they're usually not tortured with questions/complains/suggestions. smile

Most talk is about the art/math/methods, so it's very interesting for someone who's into fractal art. And of course, this is an invitation to anyone else who might read this, too. We always like to see new artists or even just people interested in fractal art.

Glad you like it! If you're interested, there's a Discord server of fractal artists (not UF only) and there are some people who are really good with graphic programming. They could probably come up with much better version of what I posted here, and they're generally really helpful. Here's an invite link: https://discord.gg/fSb4gq8e Just a suggestion, feel free to join or not. Other fractal software devs are hanging out there too, and they're usually not tortured with questions/complains/suggestions. :) Most talk is about the art/math/methods, so it's very interesting for someone who's into fractal art. And of course, this is an invitation to anyone else who might read this, too. We always like to see new artists or even just people interested in fractal art.
 
0
reply
473
views
9
replies
3
followers
live preview
Enter at least 10 characters.
WARNING: You mentioned %MENTIONS%, but they cannot see this message and will not be notified
Saving...
Saved
All posts under this topic will be deleted ?
Pending draft ... Click to resume editing
Discard draft