What kind of hardware do I need?

Background: I typically work with height fields sized 400x400. The following advice is based on height fields of that size. Of course a 100x100 height field will be much less CPU/RAM hungry (about 16 times) but so small that it's almost useless.

CPU: I'm running terraform on an PII Celeron running at 540Mhz with 128MB RAM. I would think that for reasonable performance you at least want something like a Pentium 133 or better. Of course faster is better and slower is worse. If you want to use fetures like interactive or automatic rotation, you probably want something like a Pentium 300 or better. For (auto) rotation with a high wireframe resolution, you probably want the fastest possible CPU you can find. When using these modes on my machine, the X server requires more CPU than terraform and things get sluggish. There's a delay loop built in so that it won't just flood your CPU, but for high frame rates, even my machine could do better. My guess is that a commercial (optimized) X server would help here (I'm running XFree). I will look at possible performance optimizations later, once the base is stable (things like Xshm and a better (interruptable) drawing loop).

X-Windows: My X-Server is running at 16bpp, something which is probably a good idea. I havn't actually gotten around to seeing how terraform runs under 8bpp, but it's probably ugly.

Compiling the code: Compiling the code can take quite a bit of memory, depending on the optimization level used. I've seen the process compiling TFWindow.cc peak at around 30MB of memory when compiling without optimization and around 98MB of memory when using -O2. If you have the memory, enable -O2 optimization by adding it to TF_CXXFLAGS in src/Makefile.

Memory: Running terraform does not require large amounts of memory. Here is a tabele outlining memory requirements under the different display modes:

Memory image size

HF SizedefaultfastWire (reduced*)fastWire
400x4003.8M4.1M5.3M
800x8006.1M7.3M11M
1600x160014M19M35M

* = fast wireframe drawn at 1/2 of default resolution