Far - some replies:
Percent retained: Calculate the total number of iterations across all pixels. Call this TOTAL. Sum up the hits on the histogram. Call this HITS.
Percent retained = HITS / TOTAL
I have no idea what the Chaotica efficiency value indicates.
FA tracks the iteration history of every single point in the point pools. A point is not recorded on the histogram unless its iteration count is greater than the Fuse threshold. If due to the formula calculations, a point value becomes either Infinite (INF) or NAN, it is discarded and replaced with another random point, whose iteration count is reset to zero. That new point will not be recorded on the histogram until its iteration count exceeds the Fuse threshold.
I have also experimented with not replacing the points, and you end up with a much "thinner" histogram. The approach in current renderer seems to work better than the pure discard approach.
Fuse artifacts look like a fuzzy square pillow centered on your fractal.
Fuse % is the percent of all points in the point pool whose iteration count < Fuse threshold at the completion of the render.
I don't think I am the first person doing this stuff inside the core render kernels.
This is not Rocket Science. (Odd joke expression - since I am an ex-Rocket Scientist)
Tiling ====
Flam4CUDA for Windows was developed on a gaming PC with multiple top-of-the-line graphic cards (back in 2007/2008).
Porting it to the Mac in 2009 revealed:
1) It needed to be scaleable down to work as well with thumbnail sized images as well as it worked with large images.
2) It needed to work well with with the modest Nvidia laptop GPUs on the 2009 Macbook Pro and their 256 Mb of Vram.
(Of which > 100mb would have been filled by the Operating system's textures after a fresh reboot.)
3) It needed to not hog the CPU processor, so you could surf the web while doing a big render, etc.
For item 2, the answer was tiling. The point I made in the contest post, was that tiling is for all practical purposes: invisible.
See for yourself! If they are so bad, then tell how many tiles you see and where they are !!!
So far no one has given the correct answer.
Would someone care to comment on how many tiles were used to render the Avatar movie to the Imax 5k resolution
(I don't know the answer.)
There are two minor features which are in FA that are mostly for the developer's benefit and not the fractal artist.
1) You can force it to tile even when there is plenty of memory available. (You could use this to prevent FA from grabbing Vram needed by other programs.)
2) You have a Histogram viewer - which was built so I could see the histogram. It's useful for determining when to stop a render, when all areas in the fractal
have adequate hits to eliminate noise in low density regions.
When is Tiling necessary =====
// Note: formula for amount of memory is: 3 Mb + (36 * area / 1048576) Mb
// or max area is: (X - 3)*1048576/36 with X in Mb units
//
// so for 35 Mb total, the max area is: 932,068 pixels squared or about 1000x932 pixels
// so for 45 Mb total, the max area is: 1,223,338 or about 1280x956 pixels
// so for 90 Mb total, the max area is: 2,534,059 or about 2560x956 pixels
// 1440x900 => 47.49 Mb, 1366x768 = 38.02 Mb, 1920x1280 = 86.375 Mb
So for 5000x5000, we need 858.3 Mb of Vram to render the image without needing to tile it.
My 2012 Macbook Pro has 1024 Mb of Vram.
The Mac Pro I have on order has 6144 Mb of Vram on each GPU. It will be able to render an image
13,373 x 13373 without tiling.
In 2014, 2 Gb of Vram on a desktop GPU is commonplace.
It looks like our data structures used in the renderer are approximately the same size based on the numbers in your post.
Tiling Performance Cost ====
Lets say you have a 5000 x 5000 final image size. An 8 pixel overlap is needed to split this into two tiles. This will require two separate renders
of 2508X5000.
This is the same as a single render of 5016x5000. So the performance penalty is 0.32% which is totally negligible.
For larger images, the performance penalty percentage
decreases exponentially.