### More Mandelbrots

A quick update to the mandelbrot explorer, this improves speed when you are not zoomed in very far. When you are zoomed below 175x, I will use 32 bit (1.17.14) fixed point numbers, which greatly improves speed. However, if you zoom beyond that, then it switches back to 64 bit (1.35.28), which provides greater precision. I’ve measured, and you can zoom to approx 200,000x before you start getting pixelated due to lack of precision, at which point I switch to floating point (which slows it down a bit), but you can zoom a bit farther then.

Next, I will start looking into optimizations of the algorithm itself. Two things I have heard of, but not really researched, are ‘boundary tracing’ and ‘periodicity checking’

**R05 Download:** .nds and .ds.gba

**Changes since R04:** Minor optimizations and quality improvements.

Here’s some more PNGs saved out from my app:

I must try this version tonight. I was playing with Mandel04.nds until I passed out last night.

Comment by DynaStab — August 18, 2006 @ 9:14 am

Well, probably nobody’s gonna see this, but I can’t get Mandel R05 to save on my SuperCard Lite (not rumble) and I’ve tried the Supercard and Moonshell Patchers. If anyone can offer assistiance, I would be infinitely grateful.

This is one of my favorite homebrew apps, but it doesn’t save. Oh noes!

Comment by Schecter — February 7, 2007 @ 9:58 pm

this. is. just. AWESOME!

could you e-mail me when there is a new version?

that would be great.

I played it for 15 minutes so far and its already my favourite homebrew game =)

Comment by whatever — February 28, 2008 @ 12:59 pm

did you see that? I just tipped my hat to you

Comment by Sean — November 18, 2009 @ 8:50 pm

Skip the periodicity checking bit. (Advice).

I found another Mandelbrot/Julia generator for the NDS (and not this one). And tried to implement it myself. It works like a charm. I use 32 bit fp (6.36) or 64 bit (6.58). It can zoom in 26 times, each time a factor 4 (So a total of 2^52). Afterwards switching to float or double is not necessary (and doesn’t help, since fp is more accurate in this case. [Not sure what you mean by 175x].

Will post my contribution after adding some more twists. The point is that I tried periodicity checking. It requires some finetuning WHEN to check for periodicity (for instance only if you know the last point was part of the basin of attraction) and HOW OFTEN to check for periodicity once you’ve decided to use it (for a particular starting “x,y”), because if the list of saved values increases, say length n, the order of the checking can be O(n^2). Maybe sorting the values you intend to keep can help, but than the sorting part takes extra time. [I didn't find a speed increase, quite the opposite]. But than again, the storing and checking part can still be optimised].

Comment by Jan — November 17, 2010 @ 4:20 am