schneller Mandelbrot-Explorer für Windows

OP #7587525
Lesenswert?

Hallo,

weil mir die gängigen Fraktal-Generatoren nicht gefielen, habe ich selbst ein solches Programm geschrieben ("yet another ...", in Free Pascal, für Windows). Ganz oben auf der Wunschliste standen einfache Bedienbarkeit, Schnelligkeit und Vollbild-Anzeige, etwa so, wie bei einem Bildbetrachter. Für alle, die noch nie in eine fraktale Welt hineingetaucht sind, ist dieser Mandelbrot-Explorer bestimmt ein guter Einstieg.

Im Archiv MBEx.zip stehen die ausführbaren Dateien samt Dokumentation und Quellcode. Wer selber compilieren will, sollte evtl. den FPC 3.0.4 verwenden. Andere Versionen gehen auch, ausgiebig getestet wurde MBEx aber nur als 3.0.4-Übersetzung. Den Compiler gibt's hier: https://sourceforge.net/projects/freepascal/files/Win32/3.0.4/

Einfach den 32-Bit-FPC standardmäßig installieren, dann im Home-Directory von MBEx.pas "fpc mbex" aufrufen. MBEx.pas und alle notwendigen Header-Files stehen in MBEx.zip im Ordner "src". Den 64-Bit-Crosscompiler kann man ebenso standardmäßig wie den 32-Bit-FPC installieren. Hinterher "ppcrossx64 mbex" aufrufen, um MBEx in seine 64-Bit-Variante zu übersetzen.

Beim Codieren von MBEx fiel mir ein merkwürdiges Phänomen auf: Threads, die für Windows 32 compiliert wurden, konnten auf Windows 64 nicht mehr mit "extended"-Genauigkeit rechnen; wohlgemerkt nur die Threads, nicht das Hauptprogramm. Irgendeine Instanz (Pascal-RTL oder Windows-API) initialisiert die Thread-FPUs auf "double" (über das FPU-Control-Word $027F), obwohl eigentlich "extended" notwendig wäre ($037F). Das ist vermutlich kein "Bug", ich befürchte, daß Intel plant, die x64-FPU-Genauigkeit an SSE/AVX anzugleichen. Aber egal, solange der Prozessor x87-Befehle ausführen kann, kommt MBEx32 auch mit verringerter FPU-Genauigkeit zurecht.

Viel Spaß!

Angehängte Dateien:

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren