Title: endlos - A multithreaded fractal generator in Java Post by: dentaku on December 19, 2006, 10:26:37 PM This one runs on any computer with a Java 1.5 virtual machine or newer - twice as fast with Java 1.6:
(http://sourceforge.net/dbimage.php?id=103188) => endlos (http://endlos.sourceforge.net/) Title: Re: endlos - A multithreaded fractal generator in Java Post by: ericbigas on December 20, 2006, 05:31:11 AM I see some cool features listed in the info pages but no mention of animation. Can it do that?
Title: Re: endlos - A multithreaded fractal generator in Java Post by: dentaku on December 20, 2006, 10:26:18 PM Nope, no animation so far. I thought about that, too. But Somehow, I would prefer real time zoomings instead. I'm working on batch calculations which I also want to use as a "demo" function to visit places of interest. If it's easy to implement, I will probably integrate animation. What animation would you expect?
Title: Re: endlos - A multithreaded fractal generator in Java Post by: lycium on December 21, 2006, 03:12:32 AM What animation would you expect? basically the ideal situation is to be able to place keyframes along a timeline, essentially "what i'm looking at now", then you do some spline interpolation along the timeline. if you really want to make some hot animations then there are three especially important things to bear in mind: 1. motion blur - it's 2007 basically, there's no excuse for not having it ;) you'll certainly agree when you see the output! 2. high dynamic range rendering - this goes especially well with the above to make really bright streaks. 3. interpolate the fractal parameters too (since you're rendering mandelbrots and julias, be sure to interpolate parameters for a triangle inequality average orbit trap!). if you want to see an example of the above working together, check the animations at http://www.fractographer.com/wip ("test" series of files, needs xvid codec) oh, one more thing: i don't know what the current status of the java opengl bindings is, more specifically whether or not it supports fragment progrems, but you could make some very fast animation previews with some hardware acceleration. modern gpus support 32bit floating point computations (and the latest are essentially ieee754 compliant) and can easily do those zooms in realtime: http://www.fractographer.com/propaganda/gf8800mandelbrot.png (that's without continuous escapetime, though you've said on sf that it doesn't hurt speed much). btw gandreas, since you're reading this thread ;) i'd be very interested to see some animations produced by quadrium using the above techniques! i also think you could benefit a lot from gpu acceleration... Title: V 0.10.0 released Post by: dentaku on December 25, 2006, 02:30:27 AM Code: 2006-12-25 : Version 0.10.0 - zooooooommm! http://endlos.sourceforge.net/ (http://endlos.sourceforge.net/) Title: Re: endlos - A multithreaded fractal generator in Java Post by: dentaku on December 28, 2006, 03:18:56 AM Quote 2006-12-28 : Version 0.11.0 - threads & speed -------------------------- CHANGED: 1. Replaced precision list box with a text field to set fine grained precision. No restriction anymore to fixed 32, 64, 128 Bit precision - use the best precision you need, up to unlimited precision! 2. Tooltips now show longer (7 seconds). NEW: 1. Improved calculation speed. 2. Thread priorities configurable. 3. Pausing calculation of a fractal (for other fractals to speed up). Title: Re: endlos - A multithreaded fractal generator in Java Post by: dentaku on December 31, 2006, 06:49:10 AM 2006-12-31 : Version 0.12.0 - persistence, speed & demos
--------------------------- CHANGED: 1. Increased performance of high precision mode through optimized algorithm. 2. Reworked settings tabs for better grouping. 3. Field 'Distance:' changed to 'Radius:' containing half the value of the former distance. 4. Iteration buttons decrease/increase by 10 instead of 100. FIXED: 1. One operation didn't consider current precision leading to unlimited precision for this operation and therefore much longer calculation for black dots. 2. Included GPL license. NEW: 1. Introduced saving and loading of fractal settings. Now you can re-generate your favourite fractals later again. And benchmark different computers. And create a best of collection. And share with friends. And ... 2. Demos introduced: if the subdirectory "Demos" is available, a new main menu will appear with demo fractals. 3. Introduced FAQ. (http://sourceforge.net/dbimage.php?id=104495) Title: Re: endlos - A multithreaded fractal generator in Java Post by: Nahee_Enterprises on December 31, 2006, 11:16:35 AM All of these recent enhancements have really made a big difference in the abilities of your rendering program. Great job on all the work you have been putting into this. :-)
Title: Re: endlos - A multithreaded fractal generator in Java Post by: dentaku on January 01, 2007, 01:06:08 AM Thanks! I have so much more ideas for this application. One of the next big steps will be additional fractal formulas - I also think of a generic formular editor - coding errors showed some very interesting alienized mandelbrots. I definitely plan to extend endlos to many more fields of fractals. 3D, Animation, etc. all those things I would like to see in endlos. Another field is optimizing. So far, I only look at technical optimizations. I didn't look at logic optimizations - endlos calculates brute force. I have so much fun coding this stuff!
BTW: I wrote my first fractal (Mandelbrot) many years ago on a C64 (320x200). The very first routine to save an image to the datasette took longer than to calculate the fractal ... :D Title: Re: endlos - A multithreaded fractal generator in Java Post by: dentaku on January 08, 2007, 02:54:39 AM Code: 2007-01-08 : Version 0.13.0 - sweet Julia (http://sourceforge.net/dbimage.php?id=105767) http://endlos.sourceforge.net/ (http://endlos.sourceforge.net/) Title: Re: endlos - A multithreaded fractal generator in Java Post by: Jestre on January 12, 2007, 02:07:38 AM I just wanted to take a quick second to thank the author for this program. I saw the 0.12 announcement on Freshmeat and began playing with it, and it has certainly peaked (seeded) my interest in fractals. It is, in fact, why I am here now.
At this point I really have little clue what I'm doing, but I'm having fun exploring, so thank you! Title: V 0.14.0 Post by: dentaku2 on January 13, 2007, 11:13:41 AM @webadmin: I wasn't able to relogin to this forum anymore. Every attempt to reassign password failed - I also never received an email for "forgot your password" and I got just messages on this forum site that errors appeared or something failed. So I created a new account.
@Jestre: thank you very much! Can you tell me what operating system you run endlos on? And perhaps other hardware configuration (CPU, RAM)? I'm always interested in the target systems of endlos. Version 0.14.0 is just around the corner - this time with a major improvement in coloring: recolor images don't need to recalculate the image anymore; no matter if you change the color map or toggle smoothing. ;D And this improvement opened the door to pseudo 3D fractals ... :-* Title: Re: endlos - A multithreaded fractal generator in Java Post by: Nahee_Enterprises on January 13, 2007, 11:31:20 AM Jestre wrote:
> > ....it has certainly peaked (seeded) my interest in fractals. > It is, in fact, why I am here now. Greetings, and Welcome to this Forum!! :) Title: Re: V 0.14.0 Post by: Nahee_Enterprises on January 13, 2007, 11:36:01 AM Dentaku wrote:
> > Version 0.14.0 is just around the corner - this time with a > major improvement in coloring: recolor images don't need > to recalculate the image anymore; no matter if you change > the color map or toggle smoothing. ;D And this improvement > opened the door to pseudo 3D fractals ... :-* Definitely looking forward to your next release!! :) And thanks for the continued efforts you are making with it, and for making it available to the public. Title: Re: endlos - A multithreaded fractal generator in Java Post by: dentaku2 on January 13, 2007, 09:38:13 PM Me too! ;) I just have to improve the gui for fast color map changing and off it goes. In one of the next versions, I will introduce generic fractals. You will be able to write your own formulas in Java and endlos will compile it and integrate it in its iterator. When this works well, I will finally reach a 1.0.0 version. Yahoo! :o
Title: Re: V 0.14.0 Post by: Jestre on January 14, 2007, 03:36:25 AM @Jestre: thank you very much! Can you tell me what operating system you run endlos on? And perhaps other hardware configuration (CPU, RAM)? I'm always interested in the target systems of endlos. Hey there, Looking forward to the new release, though I've certainly not worn out the current version :) I am running it on my laptop. A Gateway m465e Centrino Duo thingy. It has the "Genuine Intel(R) CPU T2500 @ 2.00GHz" processor according to cpuinfo, 2G RAM, and I installed the Java 6 JDK on the recommendation of the readme file. The OS is Ubuntu Edgy (6.10). Keep up the good work, and thanks for the welcome! Title: Re: endlos - A multithreaded fractal generator in Java Post by: dentaku2 on January 14, 2007, 08:10:20 PM @Jestre: oh, that's interesting! You also run Ubuntu Edgy like me (I run the 64 Bit version and you?). But you have an Intel dual core 2GHz and I an AMD dual core 2 GHz (also 2 GB RAM). I expect the new Intel CPU being faster. Can you tell me the runtime of the demo fractal "Sun (deep)", please? It's in 0.14.0:
Code: 2007-01-14 : Version 0.14.0 - fast colors (http://sourceforge.net/dbimage.php?id=106636) http://endlos.sourceforge.net/ (http://endlos.sourceforge.net/) Title: Re: endlos - A multithreaded fractal generator in Java Post by: dentaku2 on January 20, 2007, 03:51:55 AM Code: 2007-01-20 : Version 0.15.0 - speed & misc (http://sourceforge.net/dbimage.php?id=107440) http://endlos.sourceforge.net/ (http://endlos.sourceforge.net/) Title: Re: endlos - A multithreaded fractal generator in Java Post by: Jestre on January 21, 2007, 04:56:24 PM @Jestre: oh, that's interesting! You also run Ubuntu Edgy like me (I run the 64 Bit version and you?). But you have an Intel dual core 2GHz and I an AMD dual core 2 GHz (also 2 GB RAM). I expect the new Intel CPU being faster. Can you tell me the runtime of the demo fractal "Sun (deep)", please? It's in 0.14.0: Well, this is a Centrino chip, so I'm sure it would run faster on the full-out version. Regardless, it took 08:34:50.254 on the laptop. I just let it run overnight last night. For the record, I am currently starting endlos with: /opt/java6/bin/java -Dsun.java2d.opengl=true -cp ./endlos.jar de.dentaku.endlos.Endlos & That's a very cool fractal. I'd love to have that as my wallpaper, but I can't imagine how long it would take if the screen size were set to 1400x900 or whatever. One thing I found interesting is that it started from the vertical borders and worked towards the center. Somehow I assumed these things were generated from the center point outward, but again I've no clue in that regard :) I am going to get 0.15 and I may let it run overnight again to see if that changes anything. Title: Re: endlos - A multithreaded fractal generator in Java Post by: dentaku2 on January 22, 2007, 09:07:30 AM Are you running 64 Bit Ubuntu or 32 Bit Ubuntu?
You can run endlos via Code: java -jar endlos.jar instead of explicit classpath and class. This is prefered as the file 'endlos.jar' won't change but the class/package names may change. The demo "Four Comets" takes about 00:01:30 with 0.15.0 - and less than 30 seconds with 0.16.0 (in development) ... that's a 70% speed gain just by technical code optimization. No tricks or other shortcuts - still brute force! ;) Title: Re: endlos - A multithreaded fractal generator in Java Post by: dentaku2 on January 26, 2007, 03:23:19 AM Code: 2007-01-26 : Version 0.16.0 - speed & effects http://endlos.sourceforge.net/ (http://endlos.sourceforge.net/) Title: Version 0.17.0 Post by: dentaku2 on February 03, 2007, 12:27:48 AM Code: 2007-02-02 : Version 0.17.0 - new fractals (http://sourceforge.net/dbimage.php?id=109621) http://endlos.sourceforge.net/ (http://endlos.sourceforge.net/) Title: Re: Version 0.17.0 Post by: Nahee_Enterprises on February 03, 2007, 12:46:13 AM M. Hilpert (dentaku) wrote:
> > CHANGED: > 1. & 2. & 3. & 4. ..... > NEW: > 1. 9 new fractal types available: Barnsley's, Peterson's, Magnetic, > Manowar Mandelbrot and Julia sets; Spider. Some nice changes to your application, especially the addition of those formulae. The Barnsley has always been one of my favorites. Title: V 0.18.0 Post by: dentaku2 on February 12, 2007, 07:43:18 AM Code: 2007-02-12 : Version 0.18.0 Title: endlos 0.19.0 Post by: dentaku2 on February 22, 2007, 10:22:26 PM endlos 0.19.0 (http://endlos.sourceforge.net/)
(http://img518.imageshack.us/img518/9710/endlos0190bw2.jpg) Code: 2007-02-22 : Version 0.19.0 - flexibel formulas Title: Re: endlos 0.19.0 Post by: Nahee_Enterprises on February 22, 2007, 10:46:12 PM M. Hilpert (dentaku2) wrote:
> > CHANGED: 1. & 2. > FIXED: 1. > NEW: 1. & 2. & 3. Fractal class "Newton". Glad to see the Newtons added in. :) Thanks for these recent updates!! Title: Re: endlos - A multithreaded fractal generator in Java Post by: quaestor on February 26, 2007, 07:07:56 AM I wasn't sure if this was the right place, since this is an announcement forum, but here goes;
Love endlos!! I always like well-made programs written in Java. As long as I switch from Beryl to Metacity before I start endlos, I have no problems (so far :) ) using both -server and -Dsun.java2d.opengl=true I have two small critiques: 1. Thread Count goes from 4 to 9 with no intermediates 2. On my "short" screen (800px tall), the default layout is a little tight. I couldn't access the child window's bottom border without some serious re-jiggering, which was a problem as nearly all of the property-sheet tabs were hidden. It would help a little if the window list at the bottom of the main window could be hidden (preference?). Some numbers, all with "idle" system (single runs; i.e. not average):
Here're my specs, as dentaku seemed curious about people's rigs: Sun Java 6 (from Ubuntu backports repo), started with java -server -Xmx768m -XX:+UseBiasedLocking -XX:MaxTenuringThreshold=31 -XX:+UseParNewGC -Dsun.java2d.opengl=true -jar endlos.jar Hardware Compaq Presario R3000z CTO (laptop) AMD Athlon 64 Processor 3400+ (2.2GHz), IM L2 cache, mmx sse sse2 mmxext 3dnowext 3dnow (32-bit OS, though) 1.5G PC2700 DDR RAM nForce 3 mobo chipset GeForce4 440 Go 64MB dedicated 15" WXGA LCD screen (1280x800) Software Ubuntu 6.10 "Edgy" (x32; mostly stock with latest updates) Nvidia binary driver (latest available) Thanks a bunch and keep up the great work! q Title: Re: endlos - A multithreaded fractal generator in Java Post by: lycium on February 26, 2007, 06:52:46 PM .... I have two small critiques: 1. Thread Count goes from 4 to 9 with no intermediates i'm guessing he spawns a thread per (regular) anti-aliasing sample; that really shouldn't be the case, particularly as N gets to be 4 or 5 - thread creation and management isn't free, and that N^2 will become a bottleneck very soon... the app should spawn as many threads as there are (logical) cores, and then do load balancing. Title: Re: endlos - A multithreaded fractal generator in Java Post by: Nahee_Enterprises on February 26, 2007, 08:35:53 PM Ben Alkov (quaestor) wrote:
> > I wasn't sure if this was the right place, since this is an > announcement forum, but here goes; Love endlos!! Greetings, and welcome to this Forum!! :) And yes, Thomas Ludwig (lycium) has done some nice things with his application over the past few months. Anyway, just thought I would say hello to a new member. Title: Re: endlos - A multithreaded fractal generator in Java Post by: dentaku2 on March 02, 2007, 09:30:51 PM I have two small critiques: 1. Thread Count goes from 4 to 9 with no intermediates 2. On my "short" screen (800px tall), the default layout is a little tight. I couldn't access the child window's bottom border without some serious re-jiggering, which was a problem as nearly all of the property-sheet tabs were hidden. It would help a little if the window list at the bottom of the main window could be hidden (preference?). Hi! I'm the author of endlos. For your point 1: that's okay. the number of threads need to be the same as the number of blocks the image is divided. It 's easier to tile the image every increase by 1 row and 1 column. Therefore, the number of threads is 1, 4, 9, 16, 25, 36, ...n*n = n^2. o oo oo ooo ooo ooo ... My first versions had a linear increase (1,2 , 3, 4, 5, 6, ...) but I didn't like the image blocks as they just were horizontal or vertical bars. With the current tiling, the calculated places are better scattered over the screen. Anyway, it doesn't matter much if you use 8 instead of 9 threads. It's also not the best idea to use as many threads as there are cores because in most images, the first finishing thread wouldn't have to do anything as the remaining threads are calculating. It's better to have more threads than cores as thread switching is less expensive than idle cores at the end. It's no big difference to use 9 or 16 or 25 threads during calcualtion - but the more threads you have, the less remaining image part needs to be calculated by less threads than cores. So, having waiting cores at the end of an image is much more expensive than thread switching during the major part of the image. Just test for yourself. And that's the reason why it doesn't really hurt to have a non-linear thread increase. But it looks better! 8) For your point 2: so, there are still people out there with screens smaller than 1024x768 ... hmmm. The "the window list at the bottom" is no special feature of mine - it's automatically done by Java's desktop feature. It also looks different depending on the Look&Feel you use. E.g. the Java (metal) look and feel has no such window icon border - it's just iconifies the windows and you can maximize a window that covers those minimized icons. As you can see on your single core computer there's no real difference between 4 or 9 threads. Dubai takes about 5 seconds on my Athlon X2 3800+ with 4 threads and about 4.3 seconds with 9 threads. (Average on calculating several times). Title: Re: endlos - A multithreaded fractal generator in Java Post by: lycium on March 03, 2007, 06:22:37 PM a much better way to do your multithreaded processing is to have N worker threads do interleaved scanlines. there's plenty of parallelism to go around without resorting to splitting threaded work at the subpixel (!!) level; futhermore, unless there are extremely regular correlations in the image (causing different execution times) it should result in good (even) workload distribution. the threads do not share data at all and write to independent memory regions...
why on earth did you split it at the aa level?! :P this forces a square number of threads unless you get funky with precomputed antialiasing patterns (having toroidal symmetry), and since cpu cores come in powers of two usually that's 1, 4, 16, 64, etc., and each thread's results must then be gathered and combined, written again, ... edit: i see the threading isn't relaeted to antialiasing at all, but the final image dimensions. interleaved threading will provide much better load balancing than blocked will, and when you add antialiasing into the mix (long render times...) it'll make a significant difference. Title: Re: endlos - A multithreaded fractal generator in Java Post by: dentaku2 on March 05, 2007, 02:20:37 AM endlos V 0.20.0 (http://endlos.sourceforge.net/)
(http://img401.imageshack.us/img401/6023/fractal1172968726272ex9.jpg) Code: 2007-03-05 : Version 0.20.0 - threads & color functions Title: Re: endlos - A multithreaded fractal generator in Java Post by: dentaku2 on March 30, 2007, 08:25:21 AM Code: 2007-03-30 : Version 1.0.0 - 2D fractals |