Kalles Fraktaler 2.14

  • 222 Replies
  • 7050 Views

0 Members and 1 Guest are viewing this topic.

Offline saka

  • *
  • Fractal Phenom
  • ****
  • Posts: 44
« Reply #135 on: February 25, 2020, 04:10:31 AM »
I’m wondering how many cores/threads the program can utilize during a render.  AMD just released their 64c/128t Threadripper 3990X, so I’m curious to know if KF could take full advantage of this monster of a CPU.

I use an older Threadripper 1950X (16C/32T) (I'm about to get the new one).  KF seems to thrive on the high core count, it runs really well.  (It behaves much more nicely since Claude changed the threading priority in a recent version)

The reference calculation is the only time you don't see a benefit, it only uses 1 or 2 threads.  Areas of the Mandelbrot that require a lot of references are definitely slower to render, and the CPU fans go quiet for a short while.

Offline RedshiftRider

  • *
  • Global Moderator
  • *******
  • Dendritic Entity
  • Posts: 183
  • Dagomar Schreuder
    • Youtube
« Reply #136 on: February 28, 2020, 09:56:11 PM »
It seems like mathr.co.uk is unavailable at this time. Are there any mirrors available?

Offline RedshiftRider

  • *
  • Global Moderator
  • *******
  • Dendritic Entity
  • Posts: 183
  • Dagomar Schreuder
    • Youtube
« Reply #137 on: March 05, 2020, 03:36:14 PM »
Nvm, it seems like the site is accessible again.

Offline claude

  • *
  • 3f
  • ******
  • Posts: 1453
    • mathr.co.uk
« Reply #138 on: April 13, 2020, 10:33:47 PM »
After struggling with Wine not displaying any GUI on Debian testing (fixed by downgrading to WineHQ's 4.0.3), I hacked a bit on KF to fix up some small annoyances:

✅ progress display for Newton zooming for all formulas lets you estimate how much longer you'll have to wait

✅ "ball" method for period detection made the default because it outperforms the "box" method in skewed regions

✅ channel selection for EXR raw image export lets you reduce the file size keeping only what you need

✅ "show inflection" tool adapted for all powers of Mandelbrot set (power 2 is not quite the same as before, but the code is simpler and more general)

✅ improved iteration count adjustment when Newton zooming to avoid blank screens (for 2^n-fold symmetry, multiply original iteration count by n, at the minibrot, use 50 * period) (NR zoom stuff is still not optimal for non-power-2...)

✅ stopping rendering with ESC leaves image as-is, instead recolouring from scratch (badly) (reported by CFJH)

✅ status bar correctly resets when zooming before the previous image is completed

✅ multiline widgets in location dialog fixes editing problems (reported by CFJH) (though sometimes it's very slow to open the dialog, not sure why - either Boost's formatter or KF's ToText postprocessor to blame)

✅ rebuilt all dependencies (updated some of them) with newer compiler

combined with some changes from earlier this year:

✅ Mandelbrot power 3+ and TheRedshiftRider formulas Newton zooming is twice as fast (exploit Cauchy-Riemann equations)

✅ Mandelbrot power 3 perturbation is 50% faster

✅ Mandelbrot power 3 rescaled perturbation is 7.5% faster

Still more to do before cutting a release, expect one maybe in mid-May.

Offline gerrit

  • *
  • 3f
  • ******
  • Posts: 2100
« Reply #139 on: April 13, 2020, 10:46:50 PM »
After struggling with Wine not displaying any GUI on Debian testing (fixed by downgrading to WineHQ's 4.0.3), I hacked a bit on KF to fix up some small annoyances:

✅ progress display for Newton zooming for all formulas lets you estimate how much longer you'll have to wait

✅ "ball" method for period detection made the default because it outperforms the "box" method in skewed regions

✅ channel selection for EXR raw image export lets you reduce the file size keeping only what you need

✅ "show inflection" tool adapted for all powers of Mandelbrot set (power 2 is not quite the same as before, but the code is simpler and more general)

✅ improved iteration count adjustment when Newton zooming to avoid blank screens (for 2^n-fold symmetry, multiply original iteration count by n, at the minibrot, use 50 * period) (NR zoom stuff is still not optimal for non-power-2...)

✅ stopping rendering with ESC leaves image as-is, instead recolouring from scratch (badly) (reported by CFJH)

✅ status bar correctly resets when zooming before the previous image is completed

✅ multiline widgets in location dialog fixes editing problems (reported by CFJH) (though sometimes it's very slow to open the dialog, not sure why - either Boost's formatter or KF's ToText postprocessor to blame)

✅ rebuilt all dependencies (updated some of them) with newer compiler

combined with some changes from earlier this year:

✅ Mandelbrot power 3+ and TheRedshiftRider formulas Newton zooming is twice as fast (exploit Cauchy-Riemann equations)

✅ Mandelbrot power 3 perturbation is 50% faster

✅ Mandelbrot power 3 rescaled perturbation is 7.5% faster

Still more to do before cutting a release, expect one maybe in mid-May.
Can you make Ctrl-S behave normally again? It keeps tripping me up.

Offline claude

  • *
  • 3f
  • ******
  • Posts: 1453
    • mathr.co.uk
« Reply #140 on: April 13, 2020, 11:15:47 PM »
Can you make Ctrl-S behave normally again? It keeps tripping me up.
I'll try to make it so kf.exe loads a default kf.kfs (next to the exe in the file system) in which you can set the "save overwrites existing file" setting, as well as any other default settings you prefer.
EDIT I made it so, will be in the next release  :thumbs:
« Last Edit: April 13, 2020, 11:40:38 PM by claude »

Offline Fluoroantimonic_Acid

  • *
  • Fractal Friend
  • **
  • Posts: 14
« Reply #141 on: April 16, 2020, 04:47:55 PM »
Any chance a feature could be added such that during zoom outs, each time a key frame is beginning to render, the frame's positional and iteration data can be saved so that if lets say, the power were to go out and stop my render all of a sudden, I wouldn't have to manually find the zoom level at that specific spot through the zoom level at the final key frame and the zoom size?

Offline claude

  • *
  • 3f
  • ******
  • Posts: 1453
    • mathr.co.uk
« Reply #142 on: April 16, 2020, 05:36:34 PM »
Any chance a feature could be added such that during zoom outs, each time a key frame is beginning to render, the frame's positional and iteration data can be saved so that if lets say, the power were to go out and stop my render all of a sudden, I wouldn't have to manually find the zoom level at that specific spot through the zoom level at the final key frame and the zoom size?
Parameter and Settings metadata is stored in all file types saved from KF apart from KFB.  Just use the file type drop down in the Open dialog (for Settings or Parameters both) to enable selecting image files.
I could add a "save KFR" option to the zoom out too, in case you want to use KFB only.  Will add it to the to-do list.
EDIT I made it so, will be in the next release  :thumbs:
« Last Edit: April 16, 2020, 07:22:33 PM by claude »

Offline Fluoroantimonic_Acid

  • *
  • Fractal Friend
  • **
  • Posts: 14
« Reply #143 on: April 17, 2020, 03:09:58 AM »
Ok, thanks for creating the feature and letting me know!

Offline Fluoroantimonic_Acid

  • *
  • Fractal Friend
  • **
  • Posts: 14
« Reply #144 on: April 20, 2020, 07:39:27 AM »
Just letting you know that whenever I load a .kfr file and switch the image size to a higher resolution it requires that I zoom out and then back in as it displays the render as being done when I change the resolution.

Offline Fluoroantimonic_Acid

  • *
  • Fractal Friend
  • **
  • Posts: 14
« Reply #145 on: April 20, 2020, 07:42:40 AM »
The positions for the popups that appear on the set colors window do not appear to scale for larger monitors, and in the case of multiple displays, they appear to be locked into the main display

Offline claude

  • *
  • 3f
  • ******
  • Posts: 1453
    • mathr.co.uk
« Reply #146 on: April 20, 2020, 03:33:56 PM »
Just letting you know that whenever I load a .kfr file and switch the image size to a higher resolution it requires that I zoom out and then back in as it displays the render as being done when I change the resolution.
Hm I changed the status bar logic a bit recently (not yet released) as there were some bugs where it would not update correctly, I will need to check in case i accidentally fixed this already.  Is this with heavy locations or easy ones?  (i.e. is rendering really done by the time you change the resolution?)  BTW a better way than zooming to stop and restart rendering at the same location is ESC followed by F5.

The positions for the popups that appear on the set colors window do not appear to scale for larger monitors, and in the case of multiple displays, they appear to be locked into the main display
Coincidentally the tooltip code is on my list to rework for the next release - at the moment it uses some custom implementation that I don't understand, will try to make it use the standard Windows API.  On Linux in Wine it currently displays the tooltips even when th KF window is not on the active workspace, which is highly annoying.

Offline fox11

  • *
  • Fractal Freshman
  • *
  • Posts: 3
« Reply #147 on: May 05, 2020, 04:11:02 AM »
Getting a linker error when building kf.exe.  It's essentially these 5 prototypes for all formula source/object files. 

I've ensured that I'm on the latest kf-2.14 branch from: https://code.mathr.co.uk/kalles-fraktaler-2

and that the et-generated formulas were pulled from here: https://mathr.co.uk/kf/kf-2.14.9.7z

Everything else works without a hitch, even as far as creating kf-tile.exe

I'm sure I'm just missing something dumb, but it's been 20 years since I've last worked with gcc.  And I've searched the forums and skimmed this thread.  I'm sorry if this isn't the right place for this!

Errors:

D:/msys64/mingw64/lib/gcc/x86_64-w64-mingw32/9.3.0/../../../../x86_64-w64-mingw32/bin/ld.exe: formula/generated/formula_0_10.o:formula_0_10.c:(.data+0x10): undefined reference to `period_tri(int, double, double, double, __mpfr_struct*, __mpfr_struct*, __mpfr_struct*, int volatile*, int*)'
D:/msys64/mingw64/lib/gcc/x86_64-w64-mingw32/9.3.0/../../../../x86_64-w64-mingw32/bin/ld.exe: formula/generated/formula_0_10.o:formula_0_10.c:(.data+0x18): undefined reference to `period_jsk(int, double, double, double, __mpfr_struct*, __mpfr_struct*, __mpfr_struct*, double*, int volatile*, int*)'
D:/msys64/mingw64/lib/gcc/x86_64-w64-mingw32/9.3.0/../../../../x86_64-w64-mingw32/bin/ld.exe: formula/generated/formula_0_10.o:formula_0_10.c:(.data+0x20): undefined reference to `newton(int, int, double, double, __mpfr_struct*, __mpfr_struct*, __mpfr_struct*, int volatile*, int*)'
D:/msys64/mingw64/lib/gcc/x86_64-w64-mingw32/9.3.0/../../../../x86_64-w64-mingw32/bin/ld.exe: formula/generated/formula_0_10.o:formula_0_10.c:(.data+0x28): undefined reference to `size(int, double, double, __mpfr_struct*, __mpfr_struct*, __mpfr_struct*, double*, int volatile*, int*)'
D:/msys64/mingw64/lib/gcc/x86_64-w64-mingw32/9.3.0/../../../../x86_64-w64-mingw32/bin/ld.exe: formula/generated/formula_0_10.o:formula_0_10.c:(.data+0x30): undefined reference to `skew(int, double, double, __mpfr_struct*, __mpfr_struct*, int, double*, int volatile*, int*)'


Linker command:

x86_64-w64-mingw32-g++ -o kf.exe fraktal_sft/CDecNumber.o fraktal_sft/CFixedFloat.o fraktal_sft/check_for_update.o fraktal_sft/cmdline.o fraktal_sft/double_perturbation.o fraktal_sft/double_reference.o fraktal_sft/exr.o fraktal_sft/floatexp_approximation.o fraktal_sft/floatexp_perturbation.o fraktal_sft/floatexp_reference.o fraktal_sft/fraktal_sft.o fraktal_sft/gradient.o fraktal_sft/jpeg.o fraktal_sft/listbox.o fraktal_sft/long_double_perturbation.o fraktal_sft/long_double_reference.o fraktal_sft/main.o fraktal_sft/main_color.o fraktal_sft/main_examine.o fraktal_sft/main_iterations.o fraktal_sft/main_position.o fraktal_sft/nanomb1_perturbation.o fraktal_sft/nanomb1_reference.o fraktal_sft/nanomb2_perturbation.o fraktal_sft/nanomb2_reference.o fraktal_sft/newton.o fraktal_sft/Parameter.o fraktal_sft/png.o fraktal_sft/render.o fraktal_sft/scale_bitmap.o fraktal_sft/Settings.o fraktal_sft/tiff.o common/FolderBrowser.o common/getimage.o common/parallell.o common/StringVector.o common/tooltip.o common/bitmap.o common/matrix.o formula/formula.1.o formula/formula.2.o formula/formula.3.o formula/formula.4.o formula/formula.5.o formula/formula.6.o formula/formula.7.o formula/formula.8.o formula/formula.9.o formula/formula.a.o formula/generated/formula_0_10.o formula/generated/formula_0_2.o formula/generated/formula_0_3.o formula/generated/formula_0_4.o formula/generated/formula_0_5.o formula/generated/formula_0_6.o formula/generated/formula_0_7.o formula/generated/formula_0_8.o formula/generated/formula_0_9.o formula/generated/formula_1_2.o formula/generated/formula_1_3.o formula/generated/formula_1_4.o formula/generated/formula_1_5.o formula/generated/formula_10.o formula/generated/formula_11.o formula/generated/formula_12.o formula/generated/formula_13.o formula/generated/formula_14.o formula/generated/formula_15.o formula/generated/formula_16.o formula/generated/formula_17.o formula/generated/formula_18.o formula/generated/formula_19.o formula/generated/formula_2_2.o formula/generated/formula_2_3.o formula/generated/formula_2_4.o formula/generated/formula_2_5.o formula/generated/formula_20.o formula/generated/formula_21.o formula/generated/formula_22.o formula/generated/formula_23.o formula/generated/formula_24.o formula/generated/formula_25.o formula/generated/formula_26.o formula/generated/formula_27.o formula/generated/formula_28.o formula/generated/formula_29.o formula/generated/formula_3_2.o formula/generated/formula_3_3.o formula/generated/formula_3_4.o formula/generated/formula_3_5.o formula/generated/formula_30.o formula/generated/formula_31.o formula/generated/formula_32.o formula/generated/formula_33.o formula/generated/formula_34.o formula/generated/formula_35.o formula/generated/formula_36.o formula/generated/formula_37.o formula/generated/formula_38.o formula/generated/formula_39.o formula/generated/formula_4_2.o formula/generated/formula_4_3.o formula/generated/formula_4_4.o formula/generated/formula_4_5.o formula/generated/formula_40.o formula/generated/formula_41.o formula/generated/formula_42.o formula/generated/formula_43.o formula/generated/formula_44.o formula/generated/formula_45.o formula/generated/formula_46.o formula/generated/formula_47.o formula/generated/formula_48.o formula/generated/formula_49.o formula/generated/formula_5.o formula/generated/formula_50.o formula/generated/formula_51.o formula/generated/formula_52.o formula/generated/formula_53.o formula/generated/formula_54.o formula/generated/formula_55.o formula/generated/formula_56.o formula/generated/formula_57.o formula/generated/formula_58.o formula/generated/formula_59.o formula/generated/formula_6.o formula/generated/formula_60.o formula/generated/formula_61.o formula/generated/formula_62.o formula/generated/formula_63.o formula/generated/formula_64.o formula/generated/formula_65.o formula/generated/formula_66.o formula/generated/formula_67.o formula/generated/formula_68.o formula/generated/formula_69.o formula/generated/formula_7.o formula/generated/formula_70.o formula/generated/formula_8.o formula/generated/formula_9.o res.o -static-libgcc -static-libstdc++ -Wl,--stack,67108864 -Wl,-subsystem,windows -L/home/eostr/win64+/lib -L/home/eostr/win64/lib -lgdi32 -lcomdlg32 -lole32 -loleaut32 -lcomctl32 -lwininet -lurlmon -luuid -lmpfr -lgmp -ljpeg -ltiff -lpixman-1 /home/eostr/win64/lib/libpng16.a -lz -lgsl -lgslcblas -lIlmImf-2_4 -lImath-2_4 -lHalf-2_4 -lIex-2_4 -lIexMath-2_4 -lIlmThread-2_4 -lz


Offline claude

  • *
  • 3f
  • ******
  • Posts: 1453
    • mathr.co.uk
« Reply #148 on: May 05, 2020, 04:51:26 PM »
This is due to the generated formula API changing since the last release, to add support for progress updates in the Newton zooming (an extra int* argument).

Either use the previous release, wait for the next release, or try this archive: https://mathr.co.uk/kf/kf-2.14.9%2Bgit1-formula-generated.7z (decompresses to a "generated/" folder)

Or if you're adventurous you could try building the formula generator (requires a Haskell toolchain, I don't know how to do that on Windows):

Code: [Select]
git clone https://code.mathr.co.uk/kalles-fraktaler-2.git
cd kalles-fraktaler-2
git checkout kf-2.14  # should be the default branch, but just in case
cd ..
git clone https://code.mathr.co.uk/et.git
cd et
git checkout kf-2.14
cabal configure -f-gtk
cabal build
cabal exec et-kf ../kalles-fraktaler-2/formula/generated < kf/formulas.et
cd ..
cd kalles-fraktaler-2
make

Offline fox11

  • *
  • Fractal Freshman
  • *
  • Posts: 3
« Reply #149 on: May 06, 2020, 04:52:35 AM »
Yeah, after I did a bit more digging I noticed the function signatures were different.  I think I'll try the adventurous route first and see how far I get.  Thank you!

Update: May 6, 06:46 UTC

Was pretty easy following the commands provided.  I only needed these additional commands:

Code: [Select]
mkdir -p /usr/local/bin
curl -L https://downloads.haskell.org/cabal/cabal-install-3.0.0.0/cabal-install-3.0.0.0-${arch}-unknown-mingw32.zip | bsdtar -xzf- -C /usr/local/bin
cabal update
cabal install -j --installdir=/usr/local/bin --install-method=copy alex happy hscolour

That I pulled from step IV here: https://gitlab.haskell.org/ghc/ghc/-/wikis/building/preparation/windows

Initially thought it didn't work because et-cli.exe failed, but et-kf.exe didn't.

Testing it out versus the binaries, will post back how it goes.
« Last Edit: May 06, 2020, 08:55:47 AM by fox11, Reason: Adding notes »


xx
Kalles Fraktaler 2 + GMP

Started by claude on Kalles Fraktaler

232 Replies
11438 Views
Last post September 12, 2019, 10:27:53 PM
by claude
xx
Kalles Fraktaler 2.13

Started by claude on Kalles Fraktaler

90 Replies
4595 Views
Last post March 20, 2019, 05:32:26 AM
by claude
xx
Another version of Kalles Fraktaler?

Started by greentexas on Kalles Fraktaler

9 Replies
1068 Views
Last post September 22, 2017, 02:59:16 PM
by greentexas
xx
The history of Kalles Fraktaler - comparison between old and new

Started by FractalAlex on Kalles Fraktaler

2 Replies
29 Views
Last post Yesterday at 03:54:30 PM
by FractalAlex
xx
Kalles Fraktaler Movie Maker64

Started by Bill Snowzell on Fractal movie gallery

0 Replies
289 Views
Last post February 01, 2018, 09:29:04 PM
by Bill Snowzell