How can I solve this ?
I did some bisection of versions with your test file (thanks for attaching it):
kf-2.11.1+gmp.20170508 is the last version with good output
kf-2.11.1+gmp.20170703 crashes/hangs on loading the file (some calculations seem to happen but GUI is frozen)
kf-2.11.1+gmp.20170710 is the first version with bad output
$ git diff --stat kf-2.11.1+gmp.20170508 kf-2.11.1+gmp.20170710
119 files changed, 5198 insertions(+), 64974 deletions(-)
Very big changes there, between deleting old arbitrary precision floating point implementation and making formulas be preprocessed from XML. Will be hard to find the probably small change that caused the bug...
The current issue is that
the colours for "long double" are wrong. See attached - there will probably be another glitch around e4800 (not sure of the exact threshold) where it switches between "long double" and "floatexp". Looking at the palette, with iterdiv 0.03, setting offset to 993 = 1024*(1.0-0.03) makes it look better with "long double", but that makes the other types look wrong again. Still, it's a hint as to what might be wrong internally...
So there are some possible solutions:
* use 20170508 version with good output (slower, misses some features that might not be important)
* with 2.13.3 version, if your zoom starts before e4800 (ie, it never uses floatexp), you could check "use long double always" in the "special" menu, it will be slower and have wrong colours for the whole zoom out sequence, but no visible glitch
* with 2.13.3 version, if your zoom starts deeper than e4800 (ie, it uses floatexp), you could check "use floatexp always" in the "special" menu, it will be a lot slower but have correct colours for the whole zoom out sequence, with no visible glitch
* with 2.13.3 version, adjust the palette with offset 993, render using "long double always" until past the glitch, reset the palette offset and resume without "long double always". BUT this might just be a cosmetic fix that doesn't work with the movie makers using the kfb data directly.
* wait for
2.12.4 version (hopefully this week) which
fixes the bug (hopefully, if I can find exactly what is causing the error)There was this code in the long double perturbation post processing, deleting two lines solves the problem. I don't know why that code was there...
- if (m_nPixels[x][y]<m_nMaxIter)
- m_nPixels[x][y] += 1;