使用以下准则作为优化 Viewport 2.0 的方法,尤其是当场景包含大量对象、包括高分辨率纹理时,或者需要同时运行使用大量 GPU 内存的其他应用程序时。
“GPU 实例化”(GPU Instancing)功能使用硬件实例化,渲染使用相同材质的 Maya 形状的大量实例。这将减轻显卡的计算负荷,并显著改善包含海量几何体或已缓存动画(无法装入 GPU 内存)的场景的性能。
“合并世界”(Consolidate World)通过组合摄影机视图中几何体的所有对象来减少显卡的调用次数,从而提高性能。默认情况下,此选项处于启用状态。
为了优化“合并世界”(Consolidate World)功能,需要尽可能重用类似的着色器(特别是对小型静态对象)。可以通过选择“文件 > 优化场景大小”(File > Optimize Scene Size) > 并启用“移除重复项: 着色网络”(Remove duplicate: Shading networks)选项来完成该操作。要充分利用合并,需要在“面板”(Panel)菜单中选择 ,以便在视口中自动使用单一材质。如果材质对工作流来说不重要,则此举会大大提高慢场景的性能。
在 Viewport 2.0 选项(Viewport 2.0 options)中,选择“Alpha 切割透明度算法”(Alpha Cut > Transparency Algorithm)。此选项可提供高质量的透明度,而不会影响性能。“Alpha 切割”(Alpha Cut)非常适合完全透明或不透明的对象。
要减少高分辨率纹理使用的内存量,需要启用“Viewport 2.0 选项”(Viewport 2.0 Options)中的“钳制纹理分辨率”(Clamp Texture Resolution)。将它设置为“自动”(Automatic)可允许 Maya 自动对纹理进行缩减采样以节省内存,或者您可以将它设置为“自定义”(Custom)并设置特定的最大分辨率。然后,Maya 将对最大分辨率以上的任何用户纹理进行缩减采样。
要获得更快的性能,请使用“平滑网格预览”(Smooth Mesh Preview),而非平滑网格变形器。请注意,在实时着色器(如 GLSL 或 HLSL 着色器)中启用细分时,这些改进效果将减弱。
同时使用以下所有功能时性能可能下降:
禁用阴影可以改善这些下降。通常,启用这些选项可提高显示质量,而禁用它们可提高性能。
若要缩短复杂场景的加载时间,请在“首选项”(Preference)窗口的“显示”(Display)类别中启用“暂停 Viewport 2.0 (启动)”(Pause Viewport 2.0 (startup))选项。这允许您在场景中进行更改,而不必等待视口更新。也可以单击状态行中的 图标来暂停 Viewport 2.0。
预览包含大量纹理、几何体或缓存动画的场景时,必须管理 Viewport 2.0 使用的内存量。请参见管理 Viewport 2.0 的 GPU 内存。
可以在属性编辑器的“交互式序列缓存选项”(Interactive Sequence Caching Options)部分中设置文件节点的序列缓存。对于图像平面,可以通过在 imagePlaneShape 属性编辑器的“帧缓存”(Frame Cache)属性中设置帧数来设置缓存。
如果场景包含 Viewport 2.0 本身不支持的 3D 纹理,则可以通过在 “Viewport 2.0 选项”(Viewport 2.0 options)的“不支持的纹理类型的烘焙分辨率”(Bake Resolution for Unsupported Texture Types)设置中使用低烘焙分辨率值,减少这些纹理的烘焙时间。
请参见 Viewport 2.0 的内部纹理烘焙。
使用 particleSamplerInfo 节点时,为了获得最佳性能,应从粒子采样器断开不需要的每粒子属性,并仅保留所需的每粒子属性。如果需要大量每粒子属性,请使用 DirectX 11 作为渲染引擎,而不是 OpenGL。如果您必须使用 OpenGL,也可以使用高端显卡来增加顶点纹理坐标计数。