Previous Topic (History) Up (Introduction and Setup) 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 9, 3ds Max 2008, 3ds Max 2009 or 3ds Max 2010 (32-bit)
    • 3ds Max 8 was supported by version 1.1.x and earlier. It is not supported by 1.5.0 and higher anymore.
  • 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, 3ds Max 2008, 3ds Max 2009 or 3ds Max 2010 (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

Multi-Core Support

  • Krakatoa v1.1.x was largely single-threaded except for the Particle Sorting operation and a faster CPU with more RAM was generally recommended over a Multi-Core CPU with less RAM.
  • Krakatoa v1.5.x improved the support for multiple cores in various stages of the rendering process except for the actual drawing of particles, so a 4 or 8 core system would provide significant speed increase.
  • Krakatoa v1.6.0 further improved the multi-core support by accelerating the particle drawing and Matte Objects ZDepth pass generation.
  • Adding more RAM to a 64 bit system in all versions always improves Krakatoa performance and allows the renderer to handle higher particle counts.
  • 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 due to the larger addressable memory space and better memory management.
  • The following table shows the areas of Krakatoa that have been multi-threaded in the various major versions:
Operationv1.0.xv1.1.xv1.5.xv1.6.x
PRT Loader - ReadingYes(2)Yes(2)Yes(2)Yes(2)
PRT Loader - MaterialNoNoYesYes
PRT Loader - CullingNoNoYesYes
Particle SortingSome(2)YesYesYes
Particle DrawingNoNoNoYes
Matte ZDepth DrawingNoNoNoYes
Voxel RenderingN/AN/AYesYes
KCM EvaluationN/AN/AYesYes
  • The color coding in the above table has the following meaning:
    • Red means single-threaded operation that does not support multiple cores.
    • Yellow means a multi-threaded operation that does not use all available cores. The number of cores supported is shown in brackets.
    • Green means a multi-threaded operation that supports all available cores.
    • Blue means not applicable (the operation was not implemented yet).

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.
  • The Position channel is the only channel that is absolutely required in a saved particle file.
  • A typical channel setup would be:
    • Position:12 bytes (3x4)
    • Velocity: 6 bytes (3x2)
    • Density: 2 bytes
    • Color: 6 bytes (3x2)
    • Normal: 6 bytes (3x2)
    • ID: 2 bytes

Total: 34 bytes per particle

  • Some of the above channels could be excluded from saving depending on how you intend to use the particles:
    • The ID channel should only be saved when the particles are originating from Particle Flow and are intended to be reloaded back into Particle Flow or the ID channel is to be used by Krakatoa Channels Modifiers for special operations.
    • The Density and Color data can be provided later via 3D procedural textures assigned to the material of the PRT Loader or using Krakatoa Channels Modifiers.
    • In most cases the Normal information can be discarded unless Phong Surface shading or Environment Reflection Maps will be used.
  • Without the Density, Color, Normal and ID channels, only 18 bytes would be need to save Position and Velocity.
  • If the particles are static or no motion blur is required, one could save only the Position channel, resulting in only 12 bytes per particle.
  • Finally, the PRT file is compressed internally using a ZIP algorithm so its size can vary from frame to frame and is typically much smaller than the number of particles times bytes per particle.
  • The level of compression is highly dependent on the content of the data channels - if a lot of the values are identical, similar or highly organized, the compression will be much better,
    • For example, if all particles have the same Color value, the compression will be much higher and the file much smaller than in the case where each particle has a unique color.
  • The following table shows the compression of the same particle system using varying data in the Position and Color channels.
    • The particles were generated using a 100x100x100 units Box and a PRT Volume set to Spacing of 1.0, resulting in one million particles.
Position ChannelColor ChannelPRT File SizeBytes UncompressedCompression FactorPercent
Regular GridNone1,646,878 bytes12,000,000 bytes7.28651x13.724%
Random In CubeNone9,037,457 bytes12,000,000 bytes1.32781x75.3121%
Regular GridConstant Color1,775,154 bytes18,000,000 bytes10.14x9.86197%
Regular GridCellular Map4,978,310 bytes18,000,000 bytes3.61568x27.6573%
Random In CubeConstant Color9,273,494 bytes18,000,000 bytes1.94102x51.5194%
Random In CubeCellular Map11,859,370 bytes18,000,000 bytes1.51779x65.8854%
  • As you can see from the table, highly organized data like a regular grid of 100x100x100 particles compresses to a 7 times smaller file, while random positions allow only little compression 9MB down from 12MB uncompressed (1 million particles x 12 bytes).
  • Similarly, adding a Color channel with a constant value makes the file quite easy to compress, resulting in a size of 1.7MB vs. 18MB uncompressed (1 million particles x 18 bytes).

Rendered Particles

Overview

  • In the first version of Krakatoa, the memory footprint was hard-coded to 38 bytes per particle, always allocating Position, Color, Density, Velocity, Normal and Lighting channels.
  • Starting with Krakatoa v1.1.x, only channels that are required by certain features will be actually allocated.
    • These channels are displayed in the Memory 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.
  • In Krakatoa v1.1.x, when the Override Color option was enabled, the Color channel would not be allocated and the user-defined color would be assigned to the particles directly at render time.
    • Krakatoa v1.5.0 removed this ability in favor of support for per-particle Override Color Maps and Color plus Map Blending, which means the Color channel will always be allocated allocated.

Supported Memory Channels

  • The following table shows the channels that can or will be allocated at render time in Krakatoa v1.5.0 and higher:
Channel NameBytesNotes
Position12(3x4) FixedAlways Allocated, Always 32bit per channel.
Color6(3x2) or 12(3x4)Always Allocated.
Density2 or 4Always Allocated.
Velocity6(3x2) or 12(3x4)Allocated when Motion Blur is on.
MBlurTime2 or 4Allocated when Jittered Motion Blur is on.
Lighting6(3x2) or 12(3x4)Allocated when Lighting is not off.
Normals6(3x2) or 12(3x4)Allocated in Phong Surface mode or Environment Reflection Maps on.
Emission6(3x2) or 12(3x4)Allocated when >Use Emission is on.
Absorption6(3x2) or 12(3x4)Allocated when >Use Absorption is on.
SpecularPower2 or 4Allocated in Phong Surface mode if per-particle channel on.
SpecularLevel2 or 4Allocated in Phong Surface mode if per-particle channel on.
Eccentricity2 or 4Allocated in H-G or Schlick mode if per-particle channel on.
  • The Minimum Data Per Particle when only Position, Color and Density are allocated can be 20, 22, 26 or 28 bytes per particle depending on channel depth specified for Color and Density.