Stability Problems Associated with Video Memory Constraints

Problem

MAK ONE Applications (VR-Forces, VR-Engage, and VR-Vantage) generate a complicated and beautiful visual scene by rendering artist produced textures to display terrain, vehicles, clouds, smoke, and other visual components. Increasingly as our customers demand better game-like visuals, we have upgraded our models to have fairly high-resolution textures. Not only do we use high resolution textures for our models, but our terrains are more complex and diverse. All of these advances produce better scenes but also consume more video memory.  As you load additional models and more complex terrains into your scenes, you always run the risk of running out of the video memory (VRAM). As you get close to running out of VRAM, it is possible that your application will either drastically slow down or crash. 

Symptoms

Crashes in any 3D application when flying around, changing saved views (jumping to different parts of the terrain), and 3D magnification (zooming). Crashes are not common in 2D-only views. 

Products Affected

VR-Forces GUI, VR-Vantage, and VR-Engage. Significant improvements in memory management have occurred for the MAK ONE 2022 releases (VR-Forces 5.0, VR-Engage 2.0, and VR-Vantage 3.0). Releases earlier than this will experience more crashes than newer releases. 

Severity

Moderate - Crashes and System slowdowns can occur quickly 

Platform

Problems associated with video memory will occur on all platforms, however may occur more on Windows due to maximum texture count limits. 

Solution

MAK has made significant strides in improving our VRAM management. With all applications that consume VRAM, it is important to manage your memory. VR-Vantage has several command-line options to help limit the amount of memory that is loaded for entity and terrain models: --limitEntityTextures and --limitTerrainTextures allow users to control the maximum resolution of models that can be loaded. Furthermore, the command --limitGpuMemoryPercentage will stop loading textures once the percentage is reached. This causes visual artifacts but makes it clear that VRAM has been fully consumed.