概括
创意简报的要求越来越高,随着几何图形复杂性的增加,纹理贴图的分辨率也需要越来越高。此外,需要注意的是, Mari对显卡的依赖性很强,因此处理大型项目可能会导致显卡过载。
考虑到这一点,在使用Mari时,优化并尽可能榨取机器的性能,以实现尽可能流畅的绘画过程,就显得尤为重要。
有很多方法可以实现这一点,本文将逐一介绍您可以使用的Mari和操作系统功能。首先,我们将介绍优化项目的最佳实践,然后深入探讨Mari中更多有助于实现最佳性能的技术和通用方面。
设置项目以获得最佳性能
节点
烘焙点节点:复杂或庞大的节点网络编译时间可能更长,并降低性能。为了帮助项目保持良好的响应速度,可以使用烘焙点节点和多通道烘焙点节点来烘焙网络的各个部分,从而提高性能。
程序节点:由于程序节点复杂度高,计算和渲染需要大量系统内存,因此应谨慎使用原始程序节点。尽可能将它们烘焙到烘焙点中以提高性能。
大小和深度:对于绘制节点,不应不必要地将大小和深度设置为过高的值。大小提供分辨率,而深度可以防止出现阶跃并改善合并计算。但在大多数情况下,与绘制缓冲区类似,这些设置的值不应高于它们所连接的通道的值。
层
缓存层:大量的层或计算量大的层会降低性能。 缓存未使用的层可以缓解这个问题。要缓存层,请从“层”菜单中选择“缓存”>“缓存层” ,或者右键单击该层,然后从下拉菜单中选择“缓存”>“缓存层” 。
着色器
多着色器配置:创建多个着色器配置,并根据需要进行切换。例如,用户可以设置一个较轻量的配置用于绘制和编辑,而使用一个功能更强大、负载更高的配置用于最终预览。
凹凸模式:在着色器的设置中,将凹凸模式设置为“快速”也更适合预览,而不是使用“最终”效果。
置换贴图和凹凸贴图:即使您创建的是置换贴图,也建议将其作为凹凸贴图接入着色器,以便更快地预览。通常情况下,绘制时应避免启用凹凸贴图或置换贴图;如果您确实需要在着色器中查看贴图,请在通道节点之前添加一个烘焙点。
对象
虽然Mari允许在一个项目中创建多个对象,但该软件的设计初衷是在场景中只有一个对象时发挥最佳性能。因此,在一个项目中拥有大量对象(无论其可见性如何)都会对性能产生指数级的负面影响。
图像管理器
在项目开发过程中,图像管理器通常会存储数百张参考图像。每张图像都嵌入到项目中,因此需要与项目一起保存。如果项目打开和保存速度很慢,或者占用大量磁盘空间,则可能是图像管理器增加了项目的大小。
注意:如果您删除图像管理器中的所有图像,只要图像仍在磁盘上,下次打开项目时,程序节点正在使用的图像将自动恢复。
设置MARI以达到最佳性能
项目地点
强烈建议将项目缓存保存在本地固态硬盘 (SSD) 上。项目位置可以在“编辑”>“首选项”>“数据”>“项目”>“项目位置”中更改。
视口
避免视口过大:需要渲染的像素越多,视口响应速度就越慢。在极端情况下,隐藏部分几何体可能会提高帧率。
监视器
4K 显示器:如果您使用的是 4K 显示器, Mari需要在视口中渲染的像素数量将比在普通高清显示器上更多。因此,视口渲染速度可能会比使用像素较低的显示器时更慢。
多显示器:如果您的视口跨越多个显示器,性能会略有下降,因为 GPU 必须同时处理两个显示器。
编辑> 首选项 > GPU 选项卡
Mari大部分处理过程都依赖于 GPU,包括烘焙和视口渲染等关键任务。复杂的着色器搭配性能较弱的 GPU 通常会导致视口帧率降低。管理显卡资源可以提升性能,这可以通过编辑 GPU 首选项来实现。用户可以将鼠标悬停在任何首选项上查看工具提示并了解其影响,但以下设置对性能的影响最大:
烘焙和投影 > MipMap 生成- “快速”
不进行线性化处理,并在图像的原始色彩空间中进行下采样。
这加快了将缓冲区中的颜料烘焙到画布等操作的速度。由于数学运算是非线性的,因此可能会引入误差,但这只会影响视图,不会影响从Mari导出的最终纹理。
阴影贴图 > 允许- 禁用
启用阴影贴图可以在视口中生成更精确的阴影,但禁用它可以释放系统资源。
虚拟纹理 > 类型- "字节"
控制用于显示的缓存通道数据的数据类型。增加此值会提高显示值的准确性,但会增加GPU内存的占用。
虚拟纹理 > 层数- 低值
控制所使用的虚拟纹理图像的数量。增加此值可以解决纹理闪烁的问题,并提高模型翻滚的速度。
着色器 > 编译模式- “自动”
虽然默认的自动模式适用于大多数Mari会话,但其他模式可能对特定任务速度更快。更多信息,请参阅以下文章: Q100308: Mari的着色器编译模式
Windows - TdrDelay 和 TdrDdiDelay
Mari程序卡顿与 Windows 系统中设置的 TDR(时间检测和恢复)时间有关。由于Mari会大量使用 GPU,某些计算可能会持续超过 2 秒,而 2 秒是默认的 TdrDelay 限制。这意味着 Windows 可能会取消操作并重置 GPU,从而导致程序卡顿或崩溃。要解决此问题,您可以增加注册表中的 TdrDelay 和 TdrDdiDelay 超时值。
有关 TDR 注册表项及其编辑方法的更多信息,请参阅以下文章:
Q100688:通过增加 TDR 注册表项来防止Mari在 Windows 上冻结和崩溃
Linux - 推荐的文件系统
Linux 用户可能会发现,如果使用 EXT3 或 EXT4 文件系统,性能可以显著提高,因为它天然适合Mari读取和写入项目的方式。
在打开或保存项目时, Mari会在其缓存目录(称为项目位置)中使用大量小文件。例如,旧的铁匠身体示例就包含 75000 个文件,每个文件的大小在 10-90 kB 之间。
我们的内部测试表明,在管理大量小文件方面,EXT3 或 NTFS 等文件系统性能最佳。XFS文件系统则不尽如人意,而且我们收到用户反馈,其速度可能比 EXT 慢。因此, Mari目前在使用 XFS 文件系统时会发出警告。
硬件
如果您已经尝试了以上所有方法,但仍然遇到运行缓慢的问题,您可以尝试:
- 找出Mari组件中运行缓慢的部分(烘焙速度、帧率、保存到磁盘等)。
- 确定Mari使用该组件时使用的硬件组件(GPU、VRAM、CPU……)。
- 请将您的硬件规格与我们推荐的硬件规格进行比较。
- 根据需要优化或升级硬件。
要了解Mari如何使用每个硬件组件以及我们推荐的硬件,请参阅以下文章:
Q100078: Mari对硬件组件的使用情况
Mari - 系统要求
故障排除
如果性能突然发生变化或出现其他异常情况,则可能是您的设置存在特定问题,可以将其隔离并解决。您可以参考本文中概述的故障排除指南进行调查:
Q100710: Mari问题故障排除指南
更多帮助
如果您遇到任何问题,请创建支持工单并向我们提供本文中要求的信息:
Q100090:报告Mari问题时需要发送给支持团队的信息
如需了解如何提交支持工单,请参阅本文:
Q100064:如何提交支持工单
我们很遗憾听到
请告诉我们