# Environment variables

During the installation of Simplygon (either by using the installer or when performing a manual advanced installation), there are environment variables that are required to be set up on the computer for Simplygon to work properly and/or to customize where Simplygon stores and retrieves files from. These environment variables are explained in detail below.

IMPORTANT NOTE

Remember to restart any programs (including their parent processes) using Simplygon if changing any of the environment variables, since such changes are not picked up by already running processes.

Variable name Variable contents Default value Description
SIMPLYGON_10_PATH Absolute path %PROGRAMW6432%\Simplygon\10 Set SIMPLYGON_10_PATH to a path where all the binaries that make Simplygon run (like Simplygon.dll and SimplygonBatch.exe etc.) are located.
SIMPLYGON_10_TEMP Absolute path %LOCALAPPDATA%\Temp\Simplygon SIMPLYGON_10_TEMP should be set to a path that can be used by Simplygon to store temporary intermediate files during processings.
SIMPLYGON_10_SHARED Absolute path %USERPROFILE%\Documents\Simplygon\10 Simplygon will look for shared resources (like saved pipelines) in the directory that SIMPLYGON_10_SHARED is set to.
SIMPLYGON_10_LICENSE_PATH Absolute folder Simplygon will look for a Simplygon_10_license.lic license file in this folder if set.
SIMPLYGON_10_FLAGS Feature flags Feature flags controlling behavior of Simplygon without invoking the API directly. Semi-colon separated list of flag strings.
SIMPLYGON_10_GRID_HOSTS Grid hosts Semi-colon separated list of IP address or host names of machines running Grid agents that will act as bridges between subnets which will normally not be found during agent discovery (mDNS).
SIMPLYGON_10_GRID_IFINDEX Interface index Integer value specifying which network interface the Grid agent should use. Please use Get-NetIPInterface (opens new window) to get available interface indices. If not set the Grid agent will automatically detect and use a suitable network interface.

# Feature flags

  • NoLicenseFallback: Allow the API to starting up in unlicensed mode as a silent fallback if there is no valid license file on the machine. Normally this would generate an error indicating an invalid license.
  • MemoryTracker: Track all memory allocations and report any memory leaks on DLL unload (printed to stderr and debugger output window). This can have a major negative impact on performance, only enable if memory leaks are suspected. To get the report redirected to a file instead of stderr, add an assignment with a file path to the flag (for example MemoryTracker=D:/memory.log).
  • MemoryGuard: Place guard zones around all allocations to detect out-of-bounds writes. This can have a major negative impact on performance, only enable if memory errors are suspected. To also detect post-free reads/writes of memory blocks, add an assignment with a level indication set to 2 (MemoryGuard=2). This will map new memory pages for each allocation and cause access violations if the block is read/written after deallocation.
  • UseRpmalloc: The API will use rpmalloc for all memory allocations. Simplygon will run ~5% faster but with a significantly larger memory footprint.