创建支持服务单
关注

Q100380:将图像读取为扫描线和网络访问

摘要

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


更多信息

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

例如,如果Viewer显示640x480分辨率的图像,它会将其分成480行并一次请求一行,应用所需的任何处理并显示它。如果您正在显示全光圈超级4K图像(4096x3112),那么您正在查看3112个行请求。


扫描线渲染有两大优势。首先,以行大小块处理图像意味着整个图像不需要同时驻留在计算机存储器中,因此Nuke能够处理几乎无限范围的图像大小。其次,处理可见像素的次数保持最小。此行为旨在提供良好的可扩展性能,因此Nuke将充分利用机器资源。


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



从网络上阅读

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


通过输入/输出(I / O)文件访问请求读取图像,以将数据从源文件获取到请求者应用程序(Nuke)。如果源映像是发送请求的计算机的本地映像,那么I / O请求将很快,特别是如果您有快速存储。但是,如果源映像位于网络存储系统上,则网络读/写速度和带宽可能会增加文件读取性能的额外延迟。例如,将4k(4096x3112)图像从网络读入Nuke需要3112个网络访问请求。网络文件I / O请求的数量可能受网络带宽的影响,每个请求都会受到网络读/写速度的影响。

注意:如果您使用的网络存储系统在处理大量小读取大小时无法很好地扩展以检索图像数据,则由于文件I / O请求数量较多,可能会遇到网络延迟Nuke需要受到网络带宽的限制。

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


使用本地化功能处理网络上的素材时,可以提高Nuke的交互性能。有关这方面的更多信息如下。

阅读EXR图像和压缩类型

EXR图像类型是上述规则的例外,其中Nuke将图像类型读取为一次处理一行的扫描线。 EXR图像的压缩将决定Nuke在将其单独加载到扫描线之前必须解压缩的数据量。 ZIP(1)是默认情况下读取和写入速度最快的压缩,因为Nuke可以直接解压缩进出扫描行,而不是等待更大的数据块在开始读取之前解压缩。但是,未压缩文件的读取速度比ZIP(1)快。


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


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


如果您关注网络访问以检索完整输入图像,则使用通过上述压缩之一压缩的EXR数据可以最大限度地减少整体网络访问。但是,这取决于所使用的网络存储系统的读/写速度,在处理大分辨率时可能仍会显示速度减慢。



本土化

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

启用本地化后,Nuke将存储脚本读入的图像的本地缓存。复制以创建本地缓存的文件首先从网络位置读取为扫描线,但之后它使用本地版本而不是原始版本网络文件,当您在Nuke GUI中处理脚本时。


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

有关本地化文件和媒体的更多信息,请访问我们的在线帮助中的以下链接:

Nuke :本地化文件以获得更好的性能
NukeStudio :本地化媒体



进一步的帮助

如果您在使用本文中列出的建议后仍然看到读取和写入文件时出现性能问题,请打开支持服务单,告诉我们您遇到的问题以及到目前为止所采取的故障排除步骤。

有关如何打开支持服务单的更多信息,请参阅Q100064:使用支持门户一文。

如果您在实时播放时遇到问题,请查看本文中提供的信息: Q100297:实时播放故障排除

这篇文章有帮助吗?

我们很遗憾听到

请告诉我们
5 人中有 4 人觉得有帮助

评论