Q100380:将图像读取为扫描线及其对网络访问的影响

概括

本文解释了Nuke基于扫描线的图像架构在处理和读取图像数据方面的工作原理,以及这在跨网络读取文件时如何影响性能,并介绍了如何利用Nuke的本地化功能来提高性能。

更多信息
从网络上阅读
读取EXR图像和压缩类型
本土化
更多帮助


更多信息

Nuke是一种扫描线图像合成系统,这意味着它一次处理和读取图像的一行像素,直到到达图像末尾。在 NDK 插件开发术语中,这些扫描线被称为“行”

例如,如果查看器显示一张 640x480 分辨率的图像,它会将图像分割成 480 行,并逐行请求,进行必要的处理后再显示。如果您要显示一张全开孔径的 Super 4K 图像 (4096x3112),则需要请求 3112 行。

扫描线渲染有两个主要优势。首先,以行为单位处理图像意味着整幅图像无需同时驻留在计算机内存中,因此Nuke能够处理几乎无限大的图像尺寸。其次,可见像素的处理次数被控制在最低限度。这种设计旨在提供良好的可扩展性能,使Nuke能够充分利用机器资源。

有关Nuke架构的更多信息以及 Viewer 如何读取数据的详细说明,请参阅NDK 开发人员指南

Nuke 13.2 版本开始,该软件新增了自顶向下渲染功能,它可以通过先渲染图中所有不需要输入数据的节点来加快脚本的输出速度。有关自顶向下渲染的更多详细信息,请参阅以下文档: 自顶向下渲染

从网络上阅读

Nuke的扫描线架构读取文件的方式可能会影响通过网络读取文件时的性能。

读取图像是通过输入/输出 (I/O) 文件访问请求将数据从源文件传输到请求应用程序 (Nuke) 来实现的。如果源图像位于发送请求的本地计算机上,则 I/O 请求速度很快,尤其是在拥有高速存储设备的情况下。但是,如果源图像位于网络存储系统中,则网络读写速度和带宽会增加文件读取性能的延迟。例如,从网络将一张 4K (4096x3112) 图像读取到Nuke中需要 3112 次网络访问请求。网络文件 I/O 请求的数量会受到网络带宽的影响,而每次请求的性能又会受到网络读写速度的影响。

注意:如果您使用的网络存储系统在处理大量小读取操作以检索图像数据时扩展性不佳,则由于Nuke需要大量的文件 I/O 请求,而网络带宽又受到限制,因此可能会出现网络延迟。

您可以按照本文中概述的步骤测试网络存储系统的读写速度: Q100296:如何检查网络速度

使用本地化功能可以提升Nuke在网络环境下处理素材时的交互性能。更多信息请参见下文。

读取EXR图像和压缩类型

EXR 图像类型是上述规则的例外, Nuke会将图像类型读取为扫描线,一次处理一行。EXR 图像的压缩程度决定了Nuke每次需要解包的数据量,之后才能将其逐行加载到扫描线中。默认情况下,ZIP(1) 是读写速度最快的压缩格式,因为Nuke可以直接将数据解包到扫描线中,而无需等待较大的数据块解包后再开始读取。不过,未压缩文件的读取速度比 ZIP(1) 格式更快。

对于某些 EXR 图像压缩选项, Nuke会一次性读取更大的数据块,而不是一次读取一条扫描线。以下压缩选项将以每次 64 条扫描线为单位进行解释和读取,从而减少对图像的整体访问量: ZIP (16)、PIZ、PXR24、B44、B44A。

Nuke使用的 EXR 压缩类型列表列在Nuke的在线文档中。

如果您担心获取完整输入图像所需的网络访问量,使用上述压缩方式之一压缩的 EXR 数据或许可以最大限度地减少整体网络访问量。但是,这取决于所用网络存储系统的读写速度,处理高分辨率图像时仍可能出现速度下降的情况。

本土化

应对通过网络读取文件造成的性能损失的一种方法是使用Nuke的本地化功能来加快Nuke GUI 会话中的文件 I/O,并减少网络交互。

启用本地化后, Nuke会将脚本读取的图像缓存到本地。用于创建本地缓存的文件会首先从网络位置以扫描线格式读取,但之后,当您在Nuke图形用户界面中编写脚本时,它会使用本地版本,而不是原始网络文件。

Nuke会在脚本中保留对网络文件的引用,以便在将脚本发送给其他用户或渲染农场时可以找到它们,但通过避免在编写脚本时使用许多小的文件 I/O 请求来反复读取网络上的图像数据,可以减轻网络压力。

有关文件和媒体本地化的更多信息,请参阅我们的在线帮助,链接如下:

Nuke :文件本地化以提高性能

Nuke Studio :媒体本地化


更多帮助

如果您在使用本文中概述的建议后,仍然遇到文件读写性能问题,请提交支持工单,并告知我们您遇到的问题以及您迄今为止采取的故障排除步骤。

有关如何提交支持工单的更多信息,请参阅Q100064:如何提交支持工单文章。

如果您在实时播放时遇到问题,请查看本文中的信息: Q100297:如何在Nuke Studio / Hiero中排查播放问题

    我们很遗憾听到

    请告诉我们