Previous Topic (Technology) Up (Contents) Next Topic (Installation)

Requirements

Krakatoa is a demanding 3D rendering application. While it is designed to render more particles than 3ds Max alone, Krakatoa will still be limited by system processor and memory. Krakatoa can cache particle data to disk, often demanding large quantities of storage space. Keep in mind the simple principle that more particles require more space and more memory.

Minimum System Requirements

  • 3ds Max 8, 3ds Max 9 or 3ds Max 2008 (32-bit)
  • Intel® Pentium® IV or AMD Athlon® XP or higher processor (same as 3ds Max)
  • 1 GB RAM
  • 50 Gigabytes free hard drive space

Recommended System Configuration

  • 3ds Max 9 or 3ds Max 2008 (64-bit)
  • Intel® EM64T, AMD Athlon® 64 or higher, AMD Opteron® processor (same as 3ds Max 9 64-bit)
  • 8 GB or more RAM
  • 1 Terabyte network hard drive space

NOTE: Most portions of Krakatoa are not multi-threaded yet. Thus, a faster CPU with more RAM is generally better than a Multi-Core CPU with less RAM.

Also note that according to internal benchmarks, Krakatoa with 3ds Max 64-bit renders almost twice as fast as Krakatoa with 3ds Max 32-bit on the same machine and Windows XP 64-bit operating system thanks to the larger addressable memory space.

Krakatoa Memory Usage Estimates

Please use the following guidelines to estimate approximate storage space and memory usage.

PRT Files

PRT Files can save any channels provided by the particle source, but the user can specify which channels will be saved and with what precision (16, 32 or 64 bit per component), so the file size will vary from case to case.

A typical setup would be

  • Position:12 bytes (3x4)
  • Velocity: 6 bytes (3x2)
  • Density: 2 bytes
  • Color: 6 bytes (3x2)
  • Normal: 6 bytes (3x2)

Total: 32 bytes per particle

Density and Color can be provided later via a 3D procedural texture assigned to the material of the PRT Loader and in many cases the Normal information can be discarded unless Normal shading is required.

Without these channels, only 18 bytes would be need to save Position and Velocity.

If the particles are static or motion blur is not required, one could save only the Position channel, resulting in only 12 bytes per particle.

Finally, the PRT file is ZIPPED internally so its size can vary from frame to frame and is typically much smaller than the number of particles times bytes per particle.

Rendered Particles

Krakatoa 1.0.x

The following 6 channels will be allocated in Krakatoa 1.0.x, regardless of whether they are used or not.

  • Position:12 bytes (3x4)
  • Velocity: 6 bytes (3x2)
  • Density: 2 bytes
  • Color: 6 bytes (3x2)
  • Normal: 6 bytes (3x2)
  • Lighting: 6 bytes (3x2)

Total: 38 bytes per particle

Additional memory might be required by sorting algorithms, various buffers etc.

Use the formula particle count times 38 bytes as a general guideline, for example 1 million particles require 38,000,000 bytes or 36.2396 MB.

Krakatoa 1.1.x

Since Krakatoa 1.1.x, only channels that are required by certain features will be actually allocated.

The two channels that are always allocated are:

  • Position:12 bytes (3x4)
  • Density: 2 or 4 bytes

Total: 14 or 16 bytes per particle

In this case using no Lighting and overriding the color channel, 1 million particles would require only 13.35144 MB of memory compared to 36.2396 in the initial version. This is 2.71 times less memory in the best case.

The rest of the channels will be allocated when a feature requires their data.

  • Velocity: 6 bytes (3x2) or 12 bytes (3x4) - allocated when Motion Blur is turned on.
  • Lighting: 6 bytes (3x2) or 12 bytes (3x4) - allocated when Use Lighting is turned on.
  • Normals: 6 bytes (3x2) or 12 bytes (3x4) - allocated when both Use Lighting and Use Normals are turned on.
  • Color: 6 bytes (3x2) or 12 bytes (3x4) - allocated except when Override Particle Color is turned on and Custom Particle Color is selected.

The channels that will be allocated are now displayed in the Channels rollout. A dedicated Memory Calculator can be used to compute the memory requirements for a given amount of particles or the number of particles that would fit in a given amount of memory.