home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
ftp.xmission.com
/
2014.06.ftp.xmission.com.tar
/
ftp.xmission.com
/
pub
/
lists
/
fractdev
/
archive
/
v01.n008
< prev
next >
Wrap
Internet Message Format
|
1998-06-01
|
40KB
From: owner-fractdev-digest@lists.xmission.com (fractdev-digest)
To: fractdev-digest@lists.xmission.com
Subject: fractdev-digest V1 #8
Reply-To: fractdev-digest
Sender: owner-fractdev-digest@lists.xmission.com
Errors-To: owner-fractdev-digest@lists.xmission.com
Precedence: bulk
fractdev-digest Monday, June 1 1998 Volume 01 : Number 008
----------------------------------------------------------------------
Date: Mon, 18 May 1998 23:19:14 -0600
From: "Tim Wegner" <twegner@phoenix.net>
Subject: Re: (fractdev) I saw my shadow!
Darryl wrote:
> Hi folks!
>
> Like a groundhog, I do pop up occasionally to check the weather...
Darryl, I'm sure glad to hear from you!!!
I have some questions. I am about two versions of Linux behind (eg I have CDs
for newer versions that I haven't installed yet). Will I have any trouble with my
Motif setup if I upgrade my Linux?
When we talked before, we discussed using TK for a GUI rather than Motif. I'm
still insterested in this because TK exists on every platform. Does this mean I
don't need to worry about my Motif environment?
> My intention is to devote at least two hours a week to the group, so if you
> have anything that you want me to do, please ask! Otherwise, I will keep up
> with things here and if I see a place that might benefit from my meager
> talents, I am not shy about speaking my mind :p
I have been trying to keep Xfract up with the developer's version. I could use
help from folks helping me debug Xfractint. This doesn't need to be time
consuming.
I'll upload the developer version in the next couple of days.
Momentum for working on a 32 bit version is building!
Tim
- --------------------------------------------------------------
Thanks for using Fractdev, The Fractint Developer's Discussion List
Post Message: fractdev@lists.xmission.com
Get Commands: majordomo@lists.xmission.com "help"
Administrator: twegner@phoenix.net
Unsubscribe: majordomo@lists.xmission.com "unsubscribe fractdev"
------------------------------
Date: Mon, 18 May 1998 23:19:14 -0600
From: "Tim Wegner" <twegner@phoenix.net>
Subject: Re: (fractdev) What your missing...
Tim G.
> Can you point me to your developer version?
No because I have to upload a fresh one. It's been a little hectic around here,
hang in there, and I'll have it for you by tomorrow at the latest.
Tim
- --------------------------------------------------------------
Thanks for using Fractdev, The Fractint Developer's Discussion List
Post Message: fractdev@lists.xmission.com
Get Commands: majordomo@lists.xmission.com "help"
Administrator: twegner@phoenix.net
Unsubscribe: majordomo@lists.xmission.com "unsubscribe fractdev"
------------------------------
Date: Tue, 19 May 1998 00:23:47 -0500
From: "Damien M. Jones" <dmj@fractalus.com>
Subject: Re: (fractdev) FFT Explanation
Peter,
The difference between a DFT and an FFT is basically implementation. In a
DFT, you check for a lot of waves in your sample data, and this involves a
*lot* of repeated calculations. The FFT approach takes advantage of the
repetitive nature of the calculations to eliminate a large chunk of the
work. The results, as I understand it, are the same. (Someone *please*
correct me if I'm wrong!)
As to good explanations... the entire DFT/FFT thing was a complete mystery
to me until I saw something that pointed out what happens when you multiply
two sine waves together... outlining the basic technique behind DFT in the
first place. Now it actually kinda makes sense. But what I know about it
(scarcely anything) was not gleaned from a single source.
Good hunting!
Damien M. Jones \\
dmj@fractalus.com \\ http://www.icd.com/tsd/ (temporary sanity designs)
\\ http://www.fractalus.com/ (fractals are my hobby)
- --------------------------------------------------------------
Thanks for using Fractdev, The Fractint Developer's Discussion List
Post Message: fractdev@lists.xmission.com
Get Commands: majordomo@lists.xmission.com "help"
Administrator: twegner@phoenix.net
Unsubscribe: majordomo@lists.xmission.com "unsubscribe fractdev"
------------------------------
Date: Mon, 18 May 1998 23:28:24 -0700
From: "darryl" <darryl@dcs-chico.com>
Subject: (fractdev) gui considerations
Hi again!
Tim wrote:
- ---
I have some questions. I am about two versions of Linux behind (eg I have
CDs
for newer versions that I haven't installed yet). Will I have any trouble
with my
Motif setup if I upgrade my Linux?
- ---
No, Motif 2.x is completely compatible with any release of Linux and/or X.
The newer version of the X11R6 libraries require a modification to the
Makefile for xmfract to add -lXext -lXpm. Any version of Motif greater >=
1.2 will work, as will any version libc or glibc.
Tim wrote:
- ---
When we talked before, we discussed using TK for a GUI rather than Motif.
I'm
still insterested in this because TK exists on every platform. Does this
mean I
don't need to worry about my Motif environment?
- ---
I still like Motif, but I cannot in good conscience recommend it as a gui
for this sort of project, it is commercial (bummer) and it is definitely not
portable to Microsoft operating systems :) There are freeware versions of it
out there, and look-alikes for win32 platforms, but they are mutually
incompatible, and buggy.
I still have some reservations about Tcl/Tk ... it is an interpreted
language, and white space matters :( ... a good benchmark would be to obtain
the irc client called zircon to see what Tcl/Tk looks and feels like. There
are two versions of that program in the available package (I don't like the
client, btw, but it is a good representation of the kinds of things that Tcl
and Tk do). The first version is formatted like any other script, and runs
ok. The second version has most of the white space removed and is noticeably
faster. Of course, this obfuscates the code so badly that it is not
readable. Try it and see <g>.
I have heard a rumor that a compiled version is available for some
platforms, but that sort of violates our goal of a universal gui. Since the
gui is a small portion of what we really want FRACTINT for, this may not be
a serious limitation.
The pros: it is quite portable, easily customized, and it looks a lot like
Motif :)
So... Tcl/Tk seems to be the best choice :) ... there are other choices, and
I have waited this long to make a recommendation of any one because I wanted
to see what the market would do with the new products. As I should have
guessed, they've been all but quashed. I don't want to start a long
discussion of the merits or possible futures of these things, but Open/GL
and even Motif may be dying.
Tim wrote:
- ---
I have been trying to keep Xfract up with the developer's version. I could
use
help from folks helping me debug Xfractint. This doesn't need to be time
consuming.
I'll upload the developer version in the next couple of days.
- ---
I will be more than pleased to be able to help in any way I can! I will
obtain the source from you when it is available.
Thank you! Take care, and have fun!
Darryl House
<darryl@dcs-chico.com>
- --------------------------------------------------------------
Thanks for using Fractdev, The Fractint Developer's Discussion List
Post Message: fractdev@lists.xmission.com
Get Commands: majordomo@lists.xmission.com "help"
Administrator: twegner@phoenix.net
Unsubscribe: majordomo@lists.xmission.com "unsubscribe fractdev"
------------------------------
Date: Tue, 19 May 1998 23:27:47 -0600
From: "Tim Wegner" <twegner@phoenix.net>
Subject: (fractdev) various sources for 19.61 p44
I have uploaded the following for the current developer version. You are free to
download, but please don't upload anywhere else. These files have a life of a
few days. Also note that we are changing the source distribution to require that
any program that uses our sources must publish their own source. I haven't
edited the source to reflect this yet.
ftp://ftp.phoenix.net/pub/USERS/twegner/x1961p44.zip (xfractint source)
ftp://ftp.phoenix.net/pub/USERS/twegner/f1961p44.zip (float only DOS source)
ftp://ftp.phoenix.net/pub/USERS/twegner/s1961p44.zip (regular DOS source)
A few notes:
1. Due to an oversight, these versions announce themselves as patch 43
(encoded in realdos.c) but they are really patch 44. The "What's New" in the
help tells the true version. We'll fix this the next patch.
2. The xfractint and regular versions have absolutely identical source for the
files they share. Note to Tim Gilman - this might be impossible, but this is a
great goal.
3. The float-only version doesn't have the latest parser.c. Still working on that.
4. Best to unpack the Xfractint version with zip -a to fix all the CR/LF
5. I know some things don't work in the Xfractint version, in particular some
aspects of the fractal evolver (see what's new). I'd like to work over Xfractint and
get it well debugged.
6. I haven't yet tried to make a float-only version of Xfractint. This is probably
just a matter of dumping the float-only source on top of the Xfractint source and
cleaning up the various integer stubs. If anyone wants me to do this (Tim G?),
let me know.
Our plan is to release the current version when it gets cleaned up as version
20. I'd like this to be the last version that has integer math. But you never know
:-)
If anyone has proposed changes, I can accept them as a context diff created
with something like:
diff -c file.c new/file.c > yourchanges.dif
Tim Wegner
- --------------------------------------------------------------
Thanks for using Fractdev, The Fractint Developer's Discussion List
Post Message: fractdev@lists.xmission.com
Get Commands: majordomo@lists.xmission.com "help"
Administrator: twegner@phoenix.net
Unsubscribe: majordomo@lists.xmission.com "unsubscribe fractdev"
------------------------------
Date: Wed, 20 May 1998 01:00:13 -0700
From: condor <darryl@dcs-chico.com>
Subject: (fractdev) autoconf
Hi folks;
Just got the xfractint source, thanks, will start testing this evening.
Do you all know about the autoconfigure convention currently employed
widely in the unix community? What it does is help configure
pre-processor options and arguments for make and ld, and all of the
little things that are subtly different on various unix platforms.
The way it works is to reap the results of a command or a test compile
in each of the desired tests, and sets pre-processor definitions based
on that result. It doesn't require any extra stuff to be resident on the
target host, all of the autoconf stuff is done by the developer. It is
very fast, a h**l of a lot faster than looking this stuff up then
editing a makefile or header file.
Do we use time.h or sys/time.h on your system? Can they be safely
included together? Does your linker accept the -E option? Do you have
getpeername? Does it live in libc or the socket library? Does signal
return a void pointer? Does the keyword const actually work in your
compiler?
Things like that (these are examples, not stuff we need for xfractint)
are what autoconf answers.
Implementing it does not mean any changes to the existing code, except
that it would include a file called config.h, and the #ifdefs placed
where necessary to accomodate the various platforms. All of the other
files (the configure script, and the templates) are separate files.
To the user, it means that he/she doesn't need to know any of the
arcane stuff of which we unix folks are so fond.
Just type configure, make, and make install.
I highly recommend this approach.... any comments? btw, I volunteer to
create and maintain the configuration stuff, if we elect to do it.
darryl
- --------------------------------------------------------------
Thanks for using Fractdev, The Fractint Developer's Discussion List
Post Message: fractdev@lists.xmission.com
Get Commands: majordomo@lists.xmission.com "help"
Administrator: twegner@phoenix.net
Unsubscribe: majordomo@lists.xmission.com "unsubscribe fractdev"
------------------------------
Date: Wed, 20 May 1998 12:09:29 +0200 (MET DST)
From: "Michael R. Ganss" <rms@cs.tu-berlin.de>
Subject: Re: (fractdev) gui considerations
Hi,
> I still have some reservations about Tcl/Tk ... it is an interpreted
> language, and white space matters :( ... a good benchmark would be to obtain
> the irc client called zircon to see what Tcl/Tk looks and feels like. There
> are two versions of that program in the available package (I don't like the
> client, btw, but it is a good representation of the kinds of things that Tcl
> and Tk do). The first version is formatted like any other script, and runs
> ok. The second version has most of the white space removed and is noticeably
> faster. Of course, this obfuscates the code so badly that it is not
> readable. Try it and see <g>.
Since 8.0 Tcl/Tk has an on-the-fly bytecode-compiler (similar to the
Emacs lisp compiler, which is not on-the-fly, though). IMHO, gui speed
today doesn't matter as much as it used to a couple of years ago
(except for Microsoft applications gui complexity hasn't kept pace
with processor speed increase), so that even with an interpreted
language like Tcl guis can be fast if you keep the Tcl portion of the
code to a minimum.
> The pros: it is quite portable, easily customized, and it looks a lot like
> Motif :)
In fact, since 8.0 Tcl/Tk has "native" look-and-feel, which on Unix
platforms means Motif.
>
> So... Tcl/Tk seems to be the best choice :) ... there are other choices, and
> I have waited this long to make a recommendation of any one because I wanted
> to see what the market would do with the new products. As I should have
> guessed, they've been all but quashed. I don't want to start a long
> discussion of the merits or possible futures of these things, but Open/GL
> and even Motif may be dying.
>
Speaking of OpenGL, in terms of portability there is not only the gui
issue but also the "drawing part" issue. Obviously you can't use Tk
widgets like the canvas because most fractals are pixel oriented and
invoking Tcl code for every pixel plot makes things slow. Maybe there
are portable widgets which allow pixel plotting from the C
level. Another option would be to use OpenGL, which despite its 3d
orientedness should be quite suitable for this task.
- --
Michael R. Ganss Cooper: Look! Ducks! On a lake! Ahhh.
rms@cs.tu-berlin.de http://www.cs.tu-berlin.de/~rms/AlmondBread/
- --------------------------------------------------------------
Thanks for using Fractdev, The Fractint Developer's Discussion List
Post Message: fractdev@lists.xmission.com
Get Commands: majordomo@lists.xmission.com "help"
Administrator: twegner@phoenix.net
Unsubscribe: majordomo@lists.xmission.com "unsubscribe fractdev"
------------------------------
Date: Wed, 20 May 1998 12:29:09 +0200 (MET DST)
From: "Michael R. Ganss" <rms@cs.tu-berlin.de>
Subject: Re: (fractdev) autoconf
Hi,
> I highly recommend this approach.... any comments? btw, I volunteer to
> create and maintain the configuration stuff, if we elect to do it.
Autoconf is almost inevitable if you want portability. I'm no
autoconf expert, but I know it can be a hellish task to maintain the
myriad of ifdefs you get just because some buggy OS with 13
installations on the planet has printf(3) in sys/timezone.h or some
sh.. like that.
- --
Michael R. Ganss Cooper: Look! Ducks! On a lake! Ahhh.
rms@cs.tu-berlin.de http://www.cs.tu-berlin.de/~rms/AlmondBread/
- --------------------------------------------------------------
Thanks for using Fractdev, The Fractint Developer's Discussion List
Post Message: fractdev@lists.xmission.com
Get Commands: majordomo@lists.xmission.com "help"
Administrator: twegner@phoenix.net
Unsubscribe: majordomo@lists.xmission.com "unsubscribe fractdev"
------------------------------
Date: Wed, 20 May 98 10:42:01 -0700
From: Tim Gilman <t.gilman@apple.com>
Subject: Re: (fractdev) various sources for 19.61 p44
>2. The xfractint and regular versions have absolutely identical source for
>the files they share. Note to Tim Gilman - this might be impossible, but
>this is a great goal.
>
>6. I haven't yet tried to make a float-only version of Xfractint. This is
>probably just a matter of dumping the float-only source on top of the
>Xfractint source and cleaning up the various integer stubs. If anyone wants
>me to do this (Tim G?), let me know.
Hey Tim, I don't mind the stubs. Any have XFract for HP-UX built?
- -= Tim Gilman
t.gilman@apple.com
tgilman@cats.ucsc.edu
- --------------------------------------------------------------
Thanks for using Fractdev, The Fractint Developer's Discussion List
Post Message: fractdev@lists.xmission.com
Get Commands: majordomo@lists.xmission.com "help"
Administrator: twegner@phoenix.net
Unsubscribe: majordomo@lists.xmission.com "unsubscribe fractdev"
------------------------------
Date: Wed, 20 May 1998 22:01:46 -0400
From: Jonathan Osuch <73277.1432@compuserve.com>
Subject: (fractdev) Mandelbrot engine
Back in January, Damien Jones wrote:
>> Please add "M-set Pentium Optimization" to the list. It's about half
done,in that the code is written and works outside of FractInt, but needs=
to be tested and integrated into FractInt. <<
I've been working on this again with the assistance of Rees Acheson. Hav=
e
you made any progress with this?
The test PAR I use started at 33.23 seconds with version 19.6 and is now
down to 19.06 seconds.
I'm sure you've noticed one of the problems with integrating optimized co=
de
into Fractint. When Fractint bails out, the last (x,y) pair has to be on=
the FPU stack.
Jonathan
- --------------------------------------------------------------
Thanks for using Fractdev, The Fractint Developer's Discussion List
Post Message: fractdev@lists.xmission.com
Get Commands: majordomo@lists.xmission.com "help"
Administrator: twegner@phoenix.net
Unsubscribe: majordomo@lists.xmission.com "unsubscribe fractdev"
------------------------------
Date: Wed, 20 May 1998 15:45:28 +0100
From: "Christian Strik" <cstrik.isg@hetnet.nl>
Subject: (fractdev) Fw: Test mail - ignore this
- -----Original Message-----
From: Christian Strik <cstrik.isg@hetnet.nl>
To: fractint <fractint@lists.xmission.com>
Date: Tuesday, May 19, 1998 10:57 PM
Subject: Test mail - ignore this
>>
>>Dit is een testmailtje, aangezien mijn vorige vijf mailtjes
>>nooit zijn opgenomen in de fractint lijst. - This is a test mail, for
>>my last five mails have never been included in the fractint list - i'm
>>checking if this list does work.
>>Christian
>>
>
>
- --------------------------------------------------------------
Thanks for using Fractdev, The Fractint Developer's Discussion List
Post Message: fractdev@lists.xmission.com
Get Commands: majordomo@lists.xmission.com "help"
Administrator: twegner@phoenix.net
Unsubscribe: majordomo@lists.xmission.com "unsubscribe fractdev"
------------------------------
Date: Wed, 20 May 1998 23:58:56 -0400
From: "Peter Gavin" <pgavin@mindspring.com>
Subject: RE: (fractdev) Fw: Test mail - ignore this
Is this Latvian or something? :) (no offense if you are or it is :) )
Pete
<pgavin@mindspring.com>
// >>Dit is een testmailtje, aangezien mijn vorige vijf mailtjes
// >>nooit zijn opgenomen in de fractint lijst.
- --------------------------------------------------------------
Thanks for using Fractdev, The Fractint Developer's Discussion List
Post Message: fractdev@lists.xmission.com
Get Commands: majordomo@lists.xmission.com "help"
Administrator: twegner@phoenix.net
Unsubscribe: majordomo@lists.xmission.com "unsubscribe fractdev"
------------------------------
Date: Thu, 21 May 1998 11:58:53 +0100
From: "Christian Strik" <cstrik.isg@hetnet.nl>
Subject: Re: (fractdev) Fw: Test mail - ignore this
>Is this Latvian or something? :) (no offense if you are or it is :) )
>
>Pete
><pgavin@mindspring.com>
>
>// >>Dit is een testmailtje, aangezien mijn vorige vijf mailtjes
>// >>nooit zijn opgenomen in de fractint lijst.
Nope, it's Dutch. The mail is a rather standard mail; a long time ago i've
written it in both dutch and english for the convenience of sending later
test mails. I've only changed 'deze lijst' (this list) into 'de fractint
lijst' (the fractint list).
Christian
- --------------------------------------------------------------
Thanks for using Fractdev, The Fractint Developer's Discussion List
Post Message: fractdev@lists.xmission.com
Get Commands: majordomo@lists.xmission.com "help"
Administrator: twegner@phoenix.net
Unsubscribe: majordomo@lists.xmission.com "unsubscribe fractdev"
------------------------------
Date: Thu, 21 May 1998 11:08:15 -0400 (EDT)
From: kragen@pobox.com (Kragen)
Subject: (fractdev) hello
I'm new to fractdev. I'm Kragen Sitaker, long-time Fractint user.
Kragen
- --------------------------------------------------------------
Thanks for using Fractdev, The Fractint Developer's Discussion List
Post Message: fractdev@lists.xmission.com
Get Commands: majordomo@lists.xmission.com "help"
Administrator: twegner@phoenix.net
Unsubscribe: majordomo@lists.xmission.com "unsubscribe fractdev"
------------------------------
Date: Thu, 21 May 1998 18:17:31 +0100
From: "Christian Strik" <cstrik.isg@hetnet.nl>
Subject: Re: (fractdev) hello
Kragen wrote:
>I'm new to fractdev. I'm Kragen Sitaker, long-time Fractint user.
>
>Kragen
Welcome Kragen. I was expecting you really (just because of the contents of
your fractint messages) :-)
Christian
- --------------------------------------------------------------
Thanks for using Fractdev, The Fractint Developer's Discussion List
Post Message: fractdev@lists.xmission.com
Get Commands: majordomo@lists.xmission.com "help"
Administrator: twegner@phoenix.net
Unsubscribe: majordomo@lists.xmission.com "unsubscribe fractdev"
------------------------------
Date: Thu, 21 May 1998 18:17:31 +0100
From: "Christian Strik" <cstrik.isg@hetnet.nl>
Subject: Re: (fractdev) hello
Kragen wrote:
>I'm new to fractdev. I'm Kragen Sitaker, long-time Fractint user.
>
>Kragen
Welcome Kragen. I was expecting you really (just because of the contents of
your fractint messages) :-)
Christian
- --------------------------------------------------------------
Thanks for using Fractdev, The Fractint Developer's Discussion List
Post Message: fractdev@lists.xmission.com
Get Commands: majordomo@lists.xmission.com "help"
Administrator: twegner@phoenix.net
Unsubscribe: majordomo@lists.xmission.com "unsubscribe fractdev"
------------------------------
Date: Thu, 21 May 1998 12:50:43 -0500
From: "Damien M. Jones" <dmj@fractalus.com>
Subject: Re: (fractdev) Mandelbrot engine
Jonathan,
- I've been working on this again with the assistance of Rees Acheson. Have
- you made any progress with this?
I have not had time to work on it. :(
- The test PAR I use started at 33.23 seconds with version 19.6 and is now
- down to 19.06 seconds.
Yes, that's much improved, but it's a long way from what's possible. The
biggest problem is not leaving the last (x,y) on the stack, but tying the
code together with the periodicity checking and so on.
Damien M. Jones \\
dmj@fractalus.com \\ http://www.icd.com/tsd/ (temporary sanity designs)
\\ http://www.fractalus.com/ (fractals are my hobby)
- --------------------------------------------------------------
Thanks for using Fractdev, The Fractint Developer's Discussion List
Post Message: fractdev@lists.xmission.com
Get Commands: majordomo@lists.xmission.com "help"
Administrator: twegner@phoenix.net
Unsubscribe: majordomo@lists.xmission.com "unsubscribe fractdev"
------------------------------
Date: Thu, 21 May 1998 18:01:23 -0400
From: Jonathan Osuch <73277.1432@compuserve.com>
Subject: Re: (fractdev) Mandelbrot engine
Damien,
>> The biggest problem is not leaving the last (x,y) on the stack, but
tying the code together with the periodicity checking and so on. <<
Yes, but the two are related since periodicity requires the last (x,y) as=
do the various outside=3D options.
Jonathan
- --------------------------------------------------------------
Thanks for using Fractdev, The Fractint Developer's Discussion List
Post Message: fractdev@lists.xmission.com
Get Commands: majordomo@lists.xmission.com "help"
Administrator: twegner@phoenix.net
Unsubscribe: majordomo@lists.xmission.com "unsubscribe fractdev"
------------------------------
Date: Thu, 21 May 1998 18:09:46 -0500
From: "Damien M. Jones" <dmj@fractalus.com>
Subject: Re: (fractdev) Mandelbrot engine
Jonathan,
- >> The biggest problem is not leaving the last (x,y) on the stack, but
- tying the code together with the periodicity checking and so on. <<
-
- Yes, but the two are related since periodicity requires the last (x,y) as
- do the various outside= options.
Ah, I see what you're getting at. Why not have two loops, one where
periodicity checking is used, and another where it isn't? It was my
understanding that FractInt enabled/disabled periodicity checking on a
per-pixel basis, depending on whether the previous pixel was inside the set
or not.
It's been a loooong time since I looked at this code, so if my
understanding is faulty, please let me know.
Damien M. Jones \\
dmj@fractalus.com \\ http://www.icd.com/tsd/ (temporary sanity designs)
\\ http://www.fractalus.com/ (fractals are my hobby)
- --------------------------------------------------------------
Thanks for using Fractdev, The Fractint Developer's Discussion List
Post Message: fractdev@lists.xmission.com
Get Commands: majordomo@lists.xmission.com "help"
Administrator: twegner@phoenix.net
Unsubscribe: majordomo@lists.xmission.com "unsubscribe fractdev"
------------------------------
Date: Thu, 21 May 1998 21:32:40 -0400
From: Jonathan Osuch <73277.1432@compuserve.com>
Subject: Re: (fractdev) Mandelbrot engine
Damien,
>> Why not have two loops, one where periodicity checking is used, and
another where it isn't? It was my understanding that FractInt
enabled/disabled periodicity checking on a per-pixel basis, depending on
whether the previous pixel was inside the set or not. <<
The loop without the periodicity checking would still need to have the
(x,Y) values available when it bailed out.
What Rees and I are working on now does have two loops. The loop was
unrolled once to provide additional locations where the cmp/jmp combinati=
on
would cost zero clock cycles. This works great in Rees's code, but not s=
o
well in Fractint. We've both gained considerable insight into optimizing=
for the pentium.
Jonathan
- --------------------------------------------------------------
Thanks for using Fractdev, The Fractint Developer's Discussion List
Post Message: fractdev@lists.xmission.com
Get Commands: majordomo@lists.xmission.com "help"
Administrator: twegner@phoenix.net
Unsubscribe: majordomo@lists.xmission.com "unsubscribe fractdev"
------------------------------
Date: Fri, 22 May 1998 11:43:47 -0500
From: "Damien M. Jones" <dmj@fractalus.com>
Subject: Re: (fractdev) Mandelbrot engine
Jonathan,
- What Rees and I are working on now does have two loops. The loop was
- unrolled once to provide additional locations where the cmp/jmp
- combination would cost zero clock cycles. This works great in Rees's
- code, but not so well in Fractint. We've both gained considerable
- insight into optimizing for the pentium.
OK. You have seen Paul Hsieh's Pentium Optimization web page? It includes
Agner Fog's Pentium optimization guide (a must-have document) as well as
lots of examples of increasingly-optimized M-set loops. The fastest is 14
cycles per iteration (for Pentium) but my 15-cycle code, also on that page,
runs faster on P-II systems than the 14-cycle code. I also have an
unrolled 8x loop which averages less than 13 cycles per iteration.
Reworking the iteration loop so that the final z is left on the stack is
not a major problem; rearrange values when the point bails out, rather than
try to force the FPU to be in that state all the time.
Paul Hsieh's page is here:
http://www.geocities.com/SiliconValley/9498/p5opt.html
I can post the routines here directly if you like.
Damien M. Jones \\
dmj@fractalus.com \\ http://www.icd.com/tsd/ (temporary sanity designs)
\\ http://www.fractalus.com/ (fractals are my hobby)
- --------------------------------------------------------------
Thanks for using Fractdev, The Fractint Developer's Discussion List
Post Message: fractdev@lists.xmission.com
Get Commands: majordomo@lists.xmission.com "help"
Administrator: twegner@phoenix.net
Unsubscribe: majordomo@lists.xmission.com "unsubscribe fractdev"
------------------------------
Date: Fri, 22 May 1998 22:55:13 -0400
From: Jonathan Osuch <73277.1432@compuserve.com>
Subject: Re: (fractdev) Mandelbrot engine
Damien,
>> You have seen Paul Hsieh's Pentium Optimization web page? It includes=
Agner Fog's Pentium optimization guide (a must-have document) as well as
lots of examples of increasingly-optimized M-set loops. The fastest is 1=
4
cycles per iteration (for Pentium) but my 15-cycle code, also on that pag=
e,
runs faster on P-II systems than the 14-cycle code. <<
Yes, I've seen that page. I have yet to find the code attributed to
Fractint within the Fractint source code. OTOH, the version 19.6 code
wasn't optimized for a pentium.
>> Reworking the iteration loop so that the final z is left on the stack =
is
not a major problem; rearrange values when the point bails out, rather th=
an
try to force the FPU to be in that state all the time. <<
With the rearranging I did to incorporate Rees's code, it might be fairly=
simple to drop in your code.
You are aware, aren't you, that you are always checking the bailout value=
for the previous iteration? Not that this matters in the grander scheme =
of
things. Except, of course, in Fractint. The Z value gets used for
outside=3D options, and if it isn't done the same as in previous versions=
we'll have people screaming about lack of backwards compatibility.
The other problem is that the only place the check for periodicity can
occur is in the general area of the cmp eax,edx. If more checks are adde=
d
in that area, additional clock cycles will be added.
Possible solution to these (and other) problems would be to either have t=
wo
versions of the optimized p5 code, or to just revert back to the C code i=
f
any options are selected.
Jonathan
- --------------------------------------------------------------
Thanks for using Fractdev, The Fractint Developer's Discussion List
Post Message: fractdev@lists.xmission.com
Get Commands: majordomo@lists.xmission.com "help"
Administrator: twegner@phoenix.net
Unsubscribe: majordomo@lists.xmission.com "unsubscribe fractdev"
------------------------------
Date: Fri, 22 May 1998 23:10:35 -0500
From: "Damien M. Jones" <dmj@fractalus.com>
Subject: Re: (fractdev) Mandelbrot engine
Jonathan,
- With the rearranging I did to incorporate Rees's code, it might be fairly
- simple to drop in your code.
Whichever. I just get the feeling that because mandel is the default type
in FractInt (not to mention being the granddaddy of fractals) that a lot of
people will spend time messing with it; optimizing it is probably worthwhile.
- You are aware, aren't you, that you are always checking the bailout value
- for the previous iteration?
Yep. :) As you say, it doesn't matter much in the grand scheme of things,
but now I see what you mean about final z difficulties. If you don't mind
sacrificing a cycle or two, you can shift the compare to a differentl
location and perform the test sooner.
- Possible solution to these (and other) problems would be to either have two
- versions of the optimized p5 code, or to just revert back to the C code if
- any options are selected.
Sure, use a p5-optimized routine for when you don't need periodicity (or
anything else) and use other routines (assembly or C) when those apply.
Damien M. Jones \\
dmj@fractalus.com \\ http://www.icd.com/tsd/ (temporary sanity designs)
\\ http://www.fractalus.com/ (fractals are my hobby)
- --------------------------------------------------------------
Thanks for using Fractdev, The Fractint Developer's Discussion List
Post Message: fractdev@lists.xmission.com
Get Commands: majordomo@lists.xmission.com "help"
Administrator: twegner@phoenix.net
Unsubscribe: majordomo@lists.xmission.com "unsubscribe fractdev"
------------------------------
Date: Fri, 29 May 98 14:16:57 -0700
From: Tim Gilman <t.gilman@apple.com>
Subject: (fractdev) Profiling of XFract code
I've finished a first-pass profiling of XFract (19.6), and have created
two text files of raw info. Here's a sample from the first file:
>3d.c
> extern int bad_value;
> 3d.c, line 254: v[0] = bad_value; /* clipping will catch
> 3d.c, line 255: v[1] = bad_value; /* so they won't plot
> extern int bitshift;
> 3d.c, line 269: int bitshift)
> extern MATRIX m;
> 3d.c, line 240: tmp[j] += m[3][j];
> extern int overflow;
> 3d.c, line 374: overflow = 0;
> 3d.c, line 391: return(overflow);
> extern VECTOR view;
> 3d.c, line 259: v[0] = (v[0]*view[2] - view[0]*v[2])/denom;
> 3d.c, line 260: v[1] = (v[1]*view[2] - view[1]*v[2])/denom;
>ant.c
> extern SEGTYPE extraseg;
> ant.c, line 369: extra = MK_FP(extraseg,0);
> extern int helpmode;
> ant.c, line 407: oldhelpmode = helpmode;
> ant.c, line 453: helpmode = oldhelpmode;
> extern int orbit_delay;
> ant.c, line 411: wait = abs(orbit_delay);
> extern double param[];
> ant.c, line 92: antwrap = ((param[4] == 0) ? 0 : 1);
> ant.c, line 245: antwrap = ((param[4] == 0) ? 0 : 1);
Here's a snippet from the second file:
>extern int active_system;
> cmdfiles.c, line 1241: if (active_system == 0) {
> cmdfiles.c, line 2745: if (active_system == 0 /* DOS */
> encoder.c, line 563: && active_system == 0 /* and in
> fractint.c, line 76: int active_system = 0; /* 0 for
> framain2.c, line 272: save_system = active_system; /*
> lorenz.c, line 1901: if(active_system == 0) { /* dos version
> lorenz.c, line 1930: if(active_system == 0) { /* dos version
> realdos.c, line 83: if (active_system == 0 /* DOS */
> realdos.c, line 187: if (active_system == 0 /* DOS */
>extern int adapter;
> fractint.c, line 51: int adapter; /* Video Adapter
> fractint.c, line 410: if ((adapter =
> framain2.c, line 477: initmode = adapter;
> loadfdos.c, line 200: initmode = adapter;
> loadfile.c, line 303: initmode = adapter; /* use
> unixscr.c, line 57: extern int adapter;
> unixscr.c, line 413: adapter = 0;
Each file is over a megabyte uncompressed, ~190K gzipped, and covers all
the variables listed in 'externs.h'. You probably don't have a need for
this type of thing, unless you're contemplating one of those horrible
"massive restructurings".
http://www.scruz.net/~tgilman/tim/macfract/versions/
functions.list.gz
globals.list.gz
Cheers!
- -= Tim Gilman
t.gilman@apple.com
tgilman@cats.ucsc.edu
- --------------------------------------------------------------
Thanks for using Fractdev, The Fractint Developer's Discussion List
Post Message: fractdev@lists.xmission.com
Get Commands: majordomo@lists.xmission.com "help"
Administrator: twegner@phoenix.net
Unsubscribe: majordomo@lists.xmission.com "unsubscribe fractdev"
------------------------------
Date: Fri, 29 May 1998 19:36:11 -0700
From: Irc User Account <darryl@dcs-chico.com>
Subject: Re: (fractdev) Profiling of XFract code
Tim Gilman wrote:
> I've finished a first-pass profiling of XFract (19.6), and have created
> two text files of raw info. Here's a sample from the first file:
Thanks Tim, I (for one) found it interesting.. but that's me :)
I've about half finished testing the xfractint code under linux ix86 and dec
alpha... no major problems so far ... if any of you have specific issues that
you have seen, please point me in the right direction. This is a big project,
and to test it regressively with all possible combinations is beyond my
endurance <g>.
I have a preliminary configure script and supporting template files created,
works well under the two platforms I have at hand. Other platforms may need
some tweaking, I used the defaults listed in the current makefile where I
could, and relied on my flawless memory <hehe> for the rest. Soooo... I give
you all a full money-back guarantee on it. Just in case, I will send these
things to Tim W. to put up for testing and evaluation later in the week. Maybe
this weekend if it keeps raining.
Take care, and have fun!
Darryl House
<darryl@dcs-chico.com>
- --------------------------------------------------------------
Thanks for using Fractdev, The Fractint Developer's Discussion List
Post Message: fractdev@lists.xmission.com
Get Commands: majordomo@lists.xmission.com "help"
Administrator: twegner@phoenix.net
Unsubscribe: majordomo@lists.xmission.com "unsubscribe fractdev"
------------------------------
Date: Sat, 30 May 1998 17:44:14 -0600
From: "Tim Wegner" <twegner@phoenix.net>
Subject: Re: (fractdev) Profiling of XFract code
> I've about half finished testing the xfractint code under linux ix86 and dec
> alpha... no major problems so far ... if any of you have specific issues that
> you have seen, please point me in the right direction. This is a big project,
> and to test it regressively with all possible combinations is beyond my
> endurance <g>.
The evolver mode doesn't work for me. From the main menu select the evolver
mode, and turn it on my changing the top field to "yes".
I get the default Mandelbrot in the center thumbnail, and a constant mutated
image for all the others. It may be that the random numbers are not working.
Robin Bussell and Jonathan Osuch are the authors. Robin, have you tried this
yet under Linux?
Tim
- --------------------------------------------------------------
Thanks for using Fractdev, The Fractint Developer's Discussion List
Post Message: fractdev@lists.xmission.com
Get Commands: majordomo@lists.xmission.com "help"
Administrator: twegner@phoenix.net
Unsubscribe: majordomo@lists.xmission.com "unsubscribe fractdev"
------------------------------
Date: Mon, 1 Jun 1998 22:28:25 -0600
From: "Tim Wegner" <twegner@phoenix.net>
Subject: (fractdev) Fractint porting
I've started actively researching a new development environment for Fractint. I
bought Microsoft Visual C/C++ with that in mind.
My tentative conclusion after a survey this weekend is to port fractint to djgpp
with the allegro library. This is the extended DOS port of the GNU C compiler,
along with a game graphics library. Some of the pluses of this are:
1. free platform
2. excellent, fast compiler
3. ready porting to Win95 and Linux
The main downside is that porting the assembler would be tricky, so we'd take
a performance hook.
I'm particularly intrigued with the Win95/DirectX port of Allegro as a porting
possibility.
Comments?
Tim
- --------------------------------------------------------------
Thanks for using Fractdev, The Fractint Developer's Discussion List
Post Message: fractdev@lists.xmission.com
Get Commands: majordomo@lists.xmission.com "help"
Administrator: twegner@phoenix.net
Unsubscribe: majordomo@lists.xmission.com "unsubscribe fractdev"
------------------------------
End of fractdev-digest V1 #8
****************************