当前位置: > 游戏模型百科 >

Corona渲染器中内存使用率突然上升怎么办?
栏目分类:游戏模型百科   发布日期:2019年03月12日 15:03:54   浏览次数:


Corona渲染器中内存使用率突然上升怎么办?

 

Corona渲染器中内存使用率突然上升怎么办?

在Corona Renderer 3和更新版本中,“系统正在运行低RAM”错误消息将显示各种渲染组件及其RAM使用情况的细分。这为用户提供了应该优化的信息,以降低RAM使用率。 

 

内存使用率急剧上升可能导致渲染错误,弹出错误消息,窗口闪烁,UI中出现白色方块,一般系统减速甚至崩溃。它可能是由许多事情引起的,其中一些包括:

 

在Corona Renderer中,任何带有移位材料的网格都将根据以下内容进行细分:

  • 位移纹理的复杂性

  • “ 渲染设置”>“性能”>“置换”下的质量设置

  • 渲染分辨率

 

如果位移纹理非常详细,如果位移质量设置得非常高,或者输出分辨率非常高,则可能导致RAM耗尽。

 

解决方案:

 

注意:在Corona Renderer 3和更新版本中,有一个新的autobump功能,它可以大大减少RAM的使用,没有明显的质量损失。以下提示适用于较旧版本的Corona Renderer,其中未使用autobump,但它们仍可帮助您获得更低的RAM使用率:

  • 不要使用过于详细的置换贴图。使用位移产生精细细节通常需要增加位移质量,这反过来可能导致RAM耗尽。最好使用位移来获得更大的材料特征,并在较小的细节上使用。示例:渲染砖墙时,使用位移仅获取砖的一般形状,并使用凹凸贴图模拟较小的细节,如裂缝或其他缺陷。

  • 通过模糊或剪裁最亮和最暗的区域来优化位移纹理。这将大大减少移动网格所需的细分数量。

  • 避免在非常多的物体上使用过于详细的置换贴图(例如,在形成森林的分散树木上)

  • 避免在覆盖场景中大面积的材料(例如地板,墙壁)中使用过于详细的置换贴图

  • 尝试通过增加屏幕尺寸来降低位移质量并观察结果是否可接受 - 默认值2px通常可以提供良好的质量,但是当以更高的分辨率渲染时,它可以增加到4,8,甚至更多。

  • 如果场景是在早期版本的Corona中创建的,则在加载时会要求您切换到“新的置换行为”。请确保这样做,因为这将激活使用显着更少RAM 的新位移算法  

  • 此外,您可以使用CoronaDisplacementMod修改器覆盖各种对象上的位移质量。如果在对象上使用此修改器,则将忽略此特定对象的“  渲染设置”>“性能” 对话框中的位移设置,而是使用修改器中的设置。这对于为距离相机更近或更远,或更靠近框架的中心或边界的对象定义“细节水平”非常有用。 

 

2.在整个场景中应用,散射或以其他方式大量实例化(复制)Corona Light Mtl的高多边形对象

目前,这些对象无法正确实例化,这导致将它们中的每一个分别存储在存储器中。在应用Corona Light Mtl时使用太多或太详细的对象可能会导致RAM耗尽。

 

解决方案:

  • 减少重复对象上的多边形数量

  • 减少实例总数

  • 使用Corona Mtl启用自发光而不是Corona Light Mtl - 仅在可能的情况下使用!

  • 当创建许多灯(例如,具有大量天花板灯的工厂大厅)时 - 应用具有自发光的材料或Corona Light Mtl,对于直接可见的部分(例如灯泡或灯泡的灯丝)禁用“发光”选项,并添加单独的简单几何体来生成光。这可以是放置在天花板下方的简单矩形。

 

3.渲染元素

每个渲染元素都需要额外的内存来计算。RAM使用率随着渲染图像的分辨率以及添加的渲染元素的数量而增加。

 

方案

  • 如果可能,请避免在渲染高分辨率图像时使用渲染元素,或将其缩小到尽可能低的数量。

  • 如果可能,请避免在渲染高分辨率图像时使用去噪。每个去噪的渲染元素都会计数两次 - 它会存储去噪和非去噪版本的数据。

  • 尽可能优化LightMix - 例如,不要为枝形吊灯上的每个灯光创建10个LightSelect元素,对灯光进行分组,并创建一个控制所有灯光的LightSelect元素。

  • 如果不需要使用LightMix单独控制灯光,则可以将其取消分配给任何LightSelect元素 - 在这种情况下,它将自动包含在“Rest(未分配)”类别中,该类别仅计为一个渲染元素。

 

4.实例化(复制)动画对象

目前存在一种限制,使得无法实例化动画对象。

     
游戏模型设计 3dmax模型制作 次世代模型 游戏模型百科 游戏模型贴图