image-20240916-081235.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.

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: Frees image data after texture creation when enabled (On Air or Always).

    • 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.

Note: If an image is modified, then its texture is rebuilt faster if the data already lies in the main memory (instead of re-loading it from the database).

  • Free Images: Removes unused images (not referenced in a loaded scene) from the Image Pool (main memory and graphics card memory) when enabled (On).

  • Free Fonts: Removes unused fonts from the Font Pool when enabled (On).

  • Max. Process Working Set Size (MB): Attempts to automatically unload unused Pool objects once the threshold has been reached. For example, setting it to 6*1024 starts to cleanup as soon as Viz Engine uses more than 6 GB of memory. 0 means, no cleanup happens.

  • Delayed Object Cleanup (min): Sets 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: Loads all images which are to be loaded with a Scene (they do not need to be rendered) as textures on the graphics card when enabled (On). This eliminates the texture creation time during rendering afterwards (for example, useful when initializing a show or a playlist). Default is enabled (On).

  • 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.