几何节点性能

几何节点能够高效处理海量数据,但性能在很大程度上取决于节点树的结构以及需要计算的几何数据量。

本页面概述了提升性能的常见注意事项和技巧。

一般原则

  • 尽量减少需要处理的几何体数量。

  • 避免不必要的解算或重复计算。

  • 在可行的情况下,优先选择简单的操作而非复杂的操作。

  • 高效利用场,将计算推迟到需要时再进行。

降低几何复杂度

过多的几何体是导致性能变慢的最常见原因之一。

  • 尽可能使用分辨率较低的网格。

  • 减少细分级别。

  • 限制生成的实例或点的数量。

  • 仅在必要时使用实现实例

保持几何体的轻量化,可确保在节点树中更快地进行计算。

使用实例而非真实几何体

实例化比复制几何体高效得多。

  • 使用实例化于点上来放置重复的几何体。

  • 除非必要,否则应避免将实例转换为真实几何体。

  • 在实现实例之前对其进行操作。

实例可减少内存占用并提高解算速度。

限制高消耗的操作

某些节点的计算成本比其他节点更高。

  • 在稠密网格上,布尔运算可能会比较慢。

  • 根据输入数据的大小,邻近查询和光线投射节点可能消耗较大资源。

  • 模拟区会对每一帧进行评估,这可能会增加额外开销。

请谨慎使用这些节点,并在可能的情况下限制其输入大小。

控制场的解算

场采用懒解算机制,但如果使用不当,仍会影响性能。

  • 避免对同一个场进行多次重新计算。

  • 在重复使用时,应保存中间结果。

  • 使用 捕捉属性 来缓存数值。

高效利用场可减少冗余计算。

使用选中项来限定作用范围

将操作范围仅限于必要的元素。

  • 尽可能在节点上使用 选中项 输入。

  • 如果只需修改部分几何体,请避免对整个几何体执行操作。

这会减少需要处理的元素数量。

优化节点树结构

结构良好的节点树更容易高效地进行解算。

  • 将相关的运算归类到节点组中。

  • 避免不必要的节点链。

  • 删除未使用的节点和连接。

  • 保持数据流的简洁和直接。

结构更简单的节点图通常表现更好。

烘焙

烘焙通过存储耗时计算的结果,可以显著提升性能。

  • 使用模拟烘焙来缓存随时间变化的结果。

  • 烘焙那些不需要每帧更新的几何体。

  • 如果结果可以复用,避免重新计算复杂的节点树。

烘焙会以灵活性换取性能,因此最适合在配置确定后使用。

几何节点堆栈限制

几何节点解算受堆栈限制的约束。如果可用资源充足,可在用户偏好设置中调整此限制。

  • 深度较深或嵌套层次较多的节点树可能会达到此限制。

  • 类似递归的配置或过度的节点组嵌套可能会增加栈空间的使用。

如果栈空间已满,求值可能会失败或产生不完整的结果。

为了避免这一点:

  • 减少节点组的嵌套深度。

  • 简化过于复杂的节点链。

  • 尽可能将大型系统拆分为多个独立的小型系统。

视口和解算设置

性能还可能受到视口设置的影响。

  • 降低视口细分级别。

  • 工作时应使用更简单的着色模式。

  • 编辑时应禁用不必要的修改器。

减少视口加载量可提升交互性。

性能分析与调试

要识别瓶颈:

  • 使用时序叠加层来查找运行缓慢的节点。

  • 暂时禁用节点以隔离低效操作。

  • 缩小输入数据规模,以测试其对性能的影响。

  • 使用更简单的几何体来比较结果。

迭代测试有助于精准定位性能问题。

注意

  • 性能取决于硬件,尤其是 CPU 和内存带宽。

  • 复杂的流程设置可能需要在品质和速度之间权衡取舍。

  • 尽早进行优化,以避免日后消耗巨大的重新设计。