Viz Engine

Version 3.10 | Published April 03, 2018 ©

Memory Management

images/download/attachments/27018523/configuringviz_config_memory_management_r.png
Application memory management involves supplying the memory (main memory and graphic card memory) needed for a program’s objects and data structures used for in-memory objects such as images, fonts and so on from the limited resources available. Memory management also recycles memory for reuse when required and appropriate.

Note: Using the 64-bit version of Viz Engine on hardware that supports it with sufficient memory (>4GB RAM) can in many cases help performance and is generally recommended.

In the Memory Management section of the configuration you can give detailed hints to the Viz Engine how memory should be handled:

  • Free Image Data: When enabled (On-Air or Always), then image data is freed after texture creation.

    Note: If there are modifications done to an image, then its texture will be rebuilt a lot faster if the data already lies in the main memory (instead of re-loading it from the database).

    • No: Disables the Free Image Data option. This option is faster, but requires a lot of memory.

    • On-air: Frees image data when in On Air mode, but not in Viz Artist mode.

    • Always: Frees image data every time after the texture was created. This option saves a lot of memory but is slower in case of texture rebuilds.

  • Free Images: When enabled (On), then unused images (i.e. not referenced in a loaded scene) are removed from the Image Pool (main memory and graphics card memory).

  • Free Fonts: When enabled (On) removes unused fonts from the Font Pool.

  • Free Memory Threshold (MB): If set to greater than zero (>0) then Viz Engine tries to automatically unload unused Pool objects until the specified amount of main memory is free again.

  • Delayed Object Cleanup (min): Set the delay to clean up pool objects. Default: 0 minutes which effectively disables the delayed clean up. If set to a value greater than 0, objects do not immediately get deleted when unloaded from the renderer, and keeps objects in memory for subsequent use. While this improves performance for certain scenarios, it increases the memory footprint of Viz Engine.

  • Preload Textures: When enabled (On), all images which are to be loaded with a Scene (they do not need to be rendered) are loaded as textures to the graphics card too. This eliminates the texture creation time during rendering afterwards (e.g. useful when initializing a show or a playlist). Default is disabled (Off).

  • Free Now: Frees the selected unused Pool objects (Scenes, Geometries, Images, Fonts or All) from the memory.

  • Spawned Process Threshold: Sets the maximum number of child processes spawned by Viz. If the number of child processes exceed the set value, a pool cleanup is automatically triggered. When set to 0, automatic cleanups are disabled. The default value is 0.