Share
 
 

Manage GPU memory for Viewport 2.0

Viewport 2.0 hardware requirements

In order to run Viewport 2.0, you must have the correct graphics configuration and graphics driver version. For information about Maya certified graphics cards and the most up-to-date driver versions, see Maya Certified Hardware on the Autodesk Knowledge Network.

See also http://www.autodesk.com/hardware.

Monitoring GPU memory use

For scenes with large amounts of textures, geometry, or cached animation, it is important to take note of the amount of available GPU RAM on your video card.

If your GPU RAM usage is very close to the GPU RAM limit of your video card, your textures may appear blurry, or not load at all such that your scene appears in shaded mode depending on your current Maximum Texture Resolution Clamping setting. For more information on remedying this, see Troubleshoot Viewport 2.0.

To check the GPU memory usage of your card (in MB), use the command ogs -gpu.

To see a list of all loaded textures with their details in the Script Editor, use the command ogs -gpu -dt full

To check the GPU RAM limit of your card, refer to the Output Window of Maya.

Optimize GPU memory

Viewport 2.0 manages the amount of GPU memory it uses. Working with complex scenes containing large numbers of objects or high resolution textures, you may need to reduce the amount of memory usage. Here are some guidelines:

  • If your scene includes many viewport effects, for example screen-space ambient occlusion, multi-sample anti-aliasing, motion blur and so forth, you may experience visual corruption when you approach the GPU memory limit. To workaround this issue, disable some of your viewport effects; or, run Maya on a graphics card with more GPU memory.
  • For scenes with complex shader networks, for example, complex ShaderFX networks, or heavy use of the DirectX 11 UberShader; or, that involve viewport effects such as screen space ambient occlusion or depth of field, the speed of the graphics card may impact performance.
  • Enabling shadows impacts GPU memory usage as well as performance. The cost is dependant on the shadow resolution and the number of lights for which shadowing is enabled.
  • GPU instancing decreases the amount of GPU memory used (if you have a lot of instances).
  • For large and complex scenes, consider using the GPU cache workflow. See About GPU Caches for more information.
  • Decrease the far-clip distance of the camera so that less geometry is visible in the viewport
  • Hide objects which are not necessary to display
  • Unload references
  • Change objects to bounding box mode

Running multiple Maya sessions

Running multiple Maya sessions; or, running Maya simultaneously with another 3d program, requires extra GPU memory. If Maya is running alongside another 3d application, it does not automatically detect that it needs to share memory with that other application, and therefore may inadvertently exceed the GPU memory limit.

You can set the MAYA_OGS_GPU_MEMORY_LIMIT environment variable to override the memory detection in Viewport 2.0 and manually set a lower memory limit to reserve GPU memory for an alternate 3d application. Set MAYA_OGS_GPU_MEMORY_LIMIT to the memory limit in MB then restart Maya. For example, to limit Viewport 2.0 on a 2GB card to use only 1GB, set this environment variable to 1024. The output window confirms that the memory limit has been artificially set.

Alternatively, you can use the command ogs -gmt followed by a number to achieve the same effect without needing to restart Maya. For example, to limit Viewport 2.0 on a 2GB card to use only 1GB, use the command ogs -gmt 1024. You can then use the command ogs -q -gmt to double-check how much GPU memory each session of Maya thinks it has.

Both of these techniques may improve performance in the instances where you are running a 3d application simultaneously, but it decreases performance otherwise, and therefore should be used with caution.

Was this information helpful?