内存和存储 | CS5.5 和更低版本

如果使用的是 After Effects CS6 或更低版本,请参阅内存和存储 | CC、CS6

64 位 After Effects 中的内存 (RAM) 使用

64 位应用程序和 64 位地址空间的优势

32 位应用程序可以使用的最大 RAM 量是 4 GB,这远低于可以安装在现代计算机中并由 64 位操作系统寻址的 RAM 量。After Effects CS4 是 32 位应用程序,为了同时渲染多个帧,它只能通过启动单独的 After Effects CS4 应用程序实例(进程)来使用大于 4 GB 的 RAM。After Effects CS5 是 64 位应用程序,因此每个进程可以使用 64 位 Windows Vista、Windows 7 和 Mac OS 操作系统解决的所有 RAM。

After Effects 的每个进程可以使用大量 RAM 的功能提供了以下几个优势:

  • 您可以对帧和源文件更大的大型合成进行渲染,以实现预览和最终输出。

  • RAM 预览时间可能更长。

  • 您可以使用较高的色位深度,而不会遇到存储限制。

  • After Effects 可以缓存更多项,这些项会减少重新渲染帧和帧的组件的频率。

“内存和多重处理”首选项

设置内存与多重处理首选项,方法为选择编辑 > 首选项 > 内存和多重处理 (Windows) 或 After Effects > 首选项 > 内存和多重处理 (Mac OS)。

当您在“内存和多重处理”对话框中修改设置时,After Effects 将在对话框中动态更新帮助文本,报告它将如何分配和使用内存与 CPU。

无论是否选择“同时渲染多个帧”,“为其他应用程序保留的 RAM”首选项都是相关的。仅当选择“同时渲染多个帧”时,After Effects“多重处理”类别中的设置才是相关的。

Todd Kopriva 在 Adobe 网站上提供了有关最佳内存和处理器设置的信息。

为其他应用程序保留的 RAM

增加此值以使更多 RAM 可用于操作系统和除 After Effects 以及与其共享内存池的应用程序之外的应用程序。(请参阅 After Effects、Premiere Pro、Encore 与 Adobe Media Encoder 之间共享的内存池。)如果您知道将与 After Effects 一起使用特定应用程序,请检查其系统要求,并将此值设置为该应用程序所需的最小 RAM 量。由于为操作系统保留足够内存时性能最佳,因此不得将此值设置为低于最小基准值。

同时渲染多个帧

注意:

有关在 After Effects 中使用“同时渲染多个帧”多重处理的视频教程,请参阅 video2brain 网站

After Effects 可以启动 After Effects 应用程序的其他进程在后台运行,以协助主要前台应用程序渲染帧,实现 RAM 预览或最终输出。这些后台进程称为 AfterFX.exe (Windows) 或 aeselflink (Mac OS)。

在这种形式的多重处理中,每个后台进程都会渲染各自的帧并在独立的处理器核心 (CPU) 上运行。用于同时渲染多个帧的进程数从不会超过处理器的数量。

注意:

在许多计算机系统上,After Effects CS5 可将超线程创建的虚拟(逻辑)处理器核心用于各种形式的多重处理,包括“同时渲染多个帧”多重处理。After Effects CS4 及更低版本只能将物理核心用于“同时渲染多个帧”多重处理。

可以在计算机上运行的后台进程数还取决于已安装的系统 RAM 总量以及分配给 After Effects 应用程序的 RAM 量。

每个后台进程所需要的 RAM 量因系统配置和合成而异。

注意:

当 RAM 缓存(可用于存储 RAM 预览帧的 RAM)快满时,后台进程将停止渲染并进入内存使用率较低的状态,前台进程开始渲染,如同“同时渲染多个帧”已关闭。这意味着最初 RAM 预览的渲染较快,然后渲染切换到仅一个处理器核心时速度降低。

使用“同时渲染多个帧”多重处理功能不会加快所有合成的渲染速度。一些合成的渲染会占用大量内存,例如您在处理几千像素高宽的巨大背景图版时。一些合成的渲染会占用大量带宽占用大量 I/O ),例如您在处理许多源文件时,特别是当这些源文件不是由快速的本地专用磁盘驱动器提供时。“同时渲染多个帧”多重处理功能在合成最常运用的资源是 CPU 处理能力时提高性能的效果最佳,例如在应用发光或模糊等会占用大量处理器的效果时。

因为防病毒软件运行时将监控每项读写操作,所以此类软件会降低渲染速度,特别是在选择“同时渲染多个帧”首选项时。

注意:

After Effects 也可以使用多个线程来加快单个帧的渲染。这种形式的多重处理不取决于“同时渲染多个帧”首选项。

每个后台 CPU 的 RAM 分配

指定将分配给每个后台进程的最小 RAM 量,其中每个进程运行在其自己的 CPU(处理器核心)上。将此值设得更低可允许在 RAM 量有限的情况下,同时使用更多 CPU。但是,如果您为要渲染的帧种类将此值设得过低,那么后台进程将根本无法渲染帧,只有前台进程将用于渲染帧。例如,如果您要渲染的帧具有高清电视或数字影院的像素尺寸,则不应将此值设置得低于 0.75 GB。

注意:

对每个后台进程分配的最佳 RAM 量因项目设置(例如,色位深度)、合成设置(例如,合成帧的像素尺寸)以及应用的效果而异。对于典型的标清电视项目,建议至少为每个后台进程分配 1 GB 的内存。对于具有 HDTV 大小合成的典型项目,建议至少为每个后台进程分配 2 GB 的内存,以便获得最佳性能。您可以这些设置为基础,并对您自己的计算机系统和项目运行一些测试,以确定符合您的特定需求的最佳设置。为获得最佳性能,数字影院项目以及具有更大帧的项目甚至要求为每个后台进程分配更多内存。

为其他应用程序保留的 CPU

为防止 After Effects 使用您计算机系统中的所有 CPU(处理器核心),可将此值设置为非零值。例如,如果计算机有 8 个 CPU,将此值设置为 2,可为 After Effects 留下 6 个 CPU。

注意:

许多情况下,为提高性能,即使您为所有处理器提供了足够 RAM,也应该使所用处理器数目低于用于“同时渲染多个帧”多重处理的最大处理器数目。After Effects 是一个多线程应用程序,除“同时渲染多个帧”多重处理外,还可以使用其他形式的多重处理,如果这些线程正在竞争的资源与后台进程采用“同时渲染多个帧”多重处理进行渲染使用的资源相同时,处理器可能会“超负荷”。因此,最佳做法是开始为“同时渲染多个帧”多重处理使用少量处理器;然后增加使用的处理器数量,直到找到您的计算机系统和合成的最佳数量。

在 After Effects 暂时禁用“同时渲染多个帧”多重处理时

如果 After Effects 不能使用后台进程来同时渲染多个帧,“信息”面板中将显示一条消息,After Effects 将只使用主要前台进程来渲染所有帧。这些消息包括以下内容:

  • “内存不足。多重处理关闭。”

  • “效果或表达式不兼容。多重处理关闭。”

  • “预览模式不兼容。多重处理关闭。”

  • “合成不兼容。多重处理关闭。”

总体上,After Effects 暂时禁用“同时渲染多个帧”多重处理的原因可分成以下类别:

  • 与提供给单个后台进程的 RAM 相比,渲染单个帧需要更多 RAM。

  • 项目使用 OpenGL 进行预览或最终输出的渲染。“同时渲染多个帧”多重处理功能的工作方式为在多个 CPU 处理器核心上使用后台进程渲染帧,然而使用 OpenGL 渲染的工作方式为将处理移动到 GPU。(请参阅使用 OpenGL 渲染。)

  • 合成使用依靠 GPU 处理的效果。这些效果通常是使用 Pixel Bender 实施的效果。

  • 合成包含实时 Photoshop 3D 图层。(请参阅使用 Photoshop 的 3D 对象图层。)

  • 合成将效果与一个瞬时组件结合使用,后者在渲染进程有权访问以前帧的缓存时,渲染速度要快得多。这包括一些具有“瞬时平滑”选项的效果。

  • 合成将效果与需要严格按顺序渲染帧的瞬时组件结合使用。

如果合成使用以下任意效果,将不会使用“同时渲染多个帧”多重处理功能渲染合成:

  • 自动颜色

  • 自动对比度

  • 自动色阶

  • 卡通

  • 镜头模糊

  • 粒子运动场

  • 阴影/高光

注意:

一些第三方效果(如 CC Time Blend 和 RE:Vision Effects Video Gogh)也与“同时渲染多个帧”多重处理功能不兼容。

After Effects、Premiere Pro、Encore 与 Adobe Media Encoder 之间共享的内存池

After Effects 与 Adobe Media Encoder、Premiere Pro 和 Encore 共享内存池。从“内存和多重处理”首选项面板顶部这些应用程序的图标可看出这一点。对于未运行的应用程序,这些图标将灰显。

通过动态管理分配给各个应用程序的内存,内存平衡器可阻止 RAM 互换到磁盘。每个应用程序在内存平衡器中注册一些基本信息:最低内存要求、可使用的最大内存、当前使用的内存和优先级。优先级有三个设置:低、普通和最高。“最高”优先级目前保留给 After Effects 和 Premiere Pro(当处于活动状态时)使用。“普通”优先级适用于后台运行的 After Effects 或前台运行的 Adobe Media Encoder。“低”优先级适用于后台运行的 Premiere Pro 或 Adobe Media Encoder 的后台服务器。

注意:

共享内存池的实际结果的示例如下:启动 Premiere Pro 将减少可用于 After Effects 实现 RAM 预览的 RAM 量;退出 Premiere Pro 将立即释放 After Effects 的 RAM,并扩展 RAM 预览的可能持续时间。

“内存和多重处理细节”对话框

“内存和多重处理细节”对话框包含关于已安装 RAM 和当前与允许的 RAM 用量的附加信息。它还包括一个多列表格,列出与 Adobe Media Encoder、After Effects、Premiere Pro 以及 Encore 相关的进程。该表包括每个进程的相关信息,如 ID、应用程序名称、需要的最低内存、最大可用内存、最多允许的内存量、当前内存以及当前优先级。

要打开对话框,请选择“编辑”>“首选项”>“内存和多重处理”(Windows) 或 After Effects >“首选项”>“内存和多重处理”(Mac OS),并单击“首选项”对话框底部的“详细信息”按钮。

使用“复制”按钮可将信息复制到剪贴板。

渲染的内存 (RAM) 要求

帧的渲染的内存要求(用于预览或最终输出)随合成中最占内存的图层的内存要求而增加。

After Effects 一次一个图层来渲染合成的每个帧。鉴于此,当确定给定帧是否能使用可用内存进行渲染时,与合成中合成的持续时间或图层数相比,每个图层的内存要求更为相关。合成的内存要求相当于合成中最占用内存的单个图层的内存要求。

图层的内存要求在一些情况下会增加,包括以下情况:

  • 增加项目的色位深度

  • 提高合成分辨率

  • 使用更大的源映像

  • 启用色彩管理

  • 添加蒙版

  • 添加逐字符 3D 属性

  • 在没有折叠变换的情况下进行预合成

  • 使用特定混合模式、图层样式或效果,特别是涉及多个图层的效果

  • 应用特定输出选项,如“3:2 pulldown”、“裁剪”和“调整大小”

  • 在使用 3D 图层时添加阴影或景深效果

After Effects 需要连续的内存块来存储各个帧;无法在分段的内存中一块块存储帧。有关存储未压缩的帧所需 RAM 的信息,请参阅输出文件的存储要求

注意:

有关降低内存要求和提高性能的技巧,请参阅通过简化项目提升性能

清理内存 (RAM)

偶尔 After Effects 可能会显示警报消息,表示它需要更多内存来显示或渲染合成。如果收到内存不足报警,请释放内存或减少最占用内存的图层的内存要求,然后重试。

注意:

使用“编辑”>“清理”菜单中的一个或多个命令可以立即释放内存。

内存问题疑难解答

错误:“无法分配足够内存来渲染当前帧...”

请降低渲染此帧的内存要求,或安装更多的 RAM。

错误:“无法分配 [n] MB 内存...”

请降低渲染此帧的内存要求,或安装更多的 RAM。

错误:“大小为 [宽]x[高] @ [深度] bpc ([n] GB) 的图像缓冲区超过内部限制...”

请降低渲染此帧的内存要求。

注意:

一个帧最多可以占用 2 GB 内存。

错误:“[n] GB 的内存分配超过内部限制...”

请降低渲染此帧的内存要求。

注意:

单个内存分配的最大大小是 2 GB。

关于内存和多重处理的在线资源

要观看演示 64 位 After Effects 应用程序的某些优势,以及如何为 After Effects 和其他应用程序分配内存的视频,请访问 Adobe 网站

输出文件的存储要求

使用以下公式来确定以全分辨率存储一个未压缩的帧所需的 MB 数:

(高度(以像素为单位)) x (宽度(以像素为单位)) x (每个通道的位数) / 2,097,152

注意:

值 2,097,152 是转换因数,它表示每 MB 的字节数 (220),每字节的位数 (8),以及每像素的通道数 (4)。

下面是一些帧大小和内存要求的示例,以每帧 MB 数为单位:

  • 8-bpc 项目中的 DV NTSC (720x480) 帧:1.3 MB

  • 8-bpc 项目中的 D1/DV PAL (720x576) 帧:1.6 MB

  • 16-bpc 项目中的 HDTV (1920x1080) 帧:16 MB

  • 32-bpc 项目中的 4K 数字影院 (4096x2304) 帧:144 MB

因为当您渲染到最终输出时,视频通常在编码期间进行压缩,所以您不能只将一个帧所需的内存量乘以帧速率和合成持续时间,来确定存储您的最终输出影片所需的磁盘空间量。但是,这样计算可以让您大致了解可能需要的最大存储空间。例如,一秒钟(大约 30 帧)的未压缩标清 8-bpc 视频约需要 40 MB。该数据速率的大型影片将需要 200 GB 以上用于存储。即使使用将文件大小减小至每秒视频 3.6 MB 的 DV 压缩,对于典型的大型影片,此存储要求也会转换为 20 GB 以上。

对于色位深度更高、帧更大和压缩比更低的长片项目,可能需要 TB 存储空间来存储素材和经过渲染的输出影片,而这种情况并不罕见。

缓存:RAM 缓存、磁盘缓存和媒体缓存

在您处理合成时,After Effects 在 RAM 中暂时存储一些已渲染的帧和源图像,以便可以更快速地进行预览和编辑。After Effects 不会缓存所需渲染时间较短的帧。帧在图像缓存中保持未压缩。

After Effects 也会缓存素材和图层级别,以实现更快的预览;已修改的图层在预览期间进行渲染,未修改的图层从缓存合成。

RAM 缓存已满时,任何添加到 RAM 缓存的新帧将会替换早期缓存的帧。在 After Effects 渲染帧,以实现 RAM 预览时,它会在缓存已满时停止向图像缓存中添加帧,并开始仅播放适合 RAM 缓存的帧。

“时间轴”、“图层”和“素材”面板的时间标尺中的绿条标记缓存到内存的帧。“时间轴”面板中的蓝条标记缓存到磁盘中的帧。

图层缓存指示器(CS5.5 和更高版本)

图层缓存指示器允许您基于每个图层可视化缓存的帧。在尝试确定哪些图层缓存在合成中时,这十分有用。

在“时间轴”面板菜单中选择“图层缓存指示器”选项,可启用图层缓存指示器。菜单中必须启用“显示缓存指示器”选项才能看见指示器。

启用图层缓存指示器后,合成中的各个图层下将显示这些指示器。每个图层变得稍窄,以容纳指示器。与“时间轴”、“图层”和“素材”面板一样,缓存指示器可能显示为下列颜色之一:

  • 绿色:缓存到 RAM 中的帧

  • 蓝色:缓存到磁盘的帧

注意:

显示缓存指示器将稍稍降低性能。

在退出 After Effects 时,会自动清理 RAM 缓存。

在 After Effects CS6 中,您可以通过编辑 > 清理菜单选择清理 RAM 缓存,或 RAM 缓存和磁盘缓存。

磁盘缓存

当 RAM 缓存在标准预览期间已满时,After Effects 可以将已渲染项存储到硬盘中。“时间轴”、“图层”和“素材”面板的时间标尺中的蓝条标记缓存到磁盘的帧。

注意:

磁盘缓存不用于 RAM 预览。它仅用于标准预览。(请参阅使用标准预览播放视频。)

在 After Effects CS5.5 和更高版本中,默认情况下启用磁盘缓存。

对于磁盘缓存首选项,以及启用或禁用磁盘缓存:

  1. 选择“编辑”>“首选项”>“媒体和磁盘缓存”(Windows) 或 After Effects >“首选项”>“媒体和磁盘缓存”(Mac OS),并选择或取消选择“启用磁盘缓存”。

通过磁盘缓存首选项,可以选择用于包含缓存的文件夹。

  1. 单击“选择文件夹”按钮,然后单击“确定”(Windows) 或“选择”(Mac OS)。

清空磁盘缓存:

  1. 单击“清空磁盘缓存”按钮。

注意:

即使磁盘缓存启用后,每个帧也必须能够放入连续的 RAM 块。启用磁盘高速缓存对于 RAM 不足以容纳或渲染合成中单帧的局限性并没有什么帮助。

为实现磁盘缓存的最佳性能,请在不同于源素材的物理硬盘上选择一个文件夹。如果可能,该文件夹应位于与包含源素材的磁盘使用不同驱动器控制器的硬盘上。建议为磁盘缓存文件夹使用分配了尽可能多空间的快速硬盘驱动器或 SSD。磁盘缓存文件夹不得是硬盘的根文件夹。

与 RAM 缓存一样,如果与渲染帧相比从缓存检索帧更快,After Effects 仅将使用磁盘缓存来存储帧。

“最大磁盘缓存大小”设置指定要使用的硬盘空间的 GB 数。在 After Effects CS6 中,默认磁盘缓存大小设置为卷的总大小的 10%,多达 100 GB。在 After Effects CS5.5 中,默认情况下此数量是 20 GB。鉴于此,与早期版本相比,更多帧适宜于磁盘缓存。

注意:

在 After Effects CS5.5 中,应用程序检查以确保与首选项 > 媒体和磁盘缓存中设置的数量相比,多 10 GB 可用。如果没有足够空间用于磁盘缓存,After Effects 会发出警告。

注意:

不会持续缓存 Roto 笔刷帧。

媒体缓存

当 After Effects 导入某些格式的视频和音频时,它会对这些导入项的各个版本进行处理并缓存,以便在生成预览时能够易于访问。导入的每个音频文件会转换为一个新的 .cfa 文件,MPEG 文件则经过索引编制后成为一个新的 .mpgindex 文件。媒体缓存显著提升预览的性能,因为不会为各个预览重新处理音频和视频项。

注意:

当您第一次导入文件时,在处理和缓存媒体时,您可能会感到延迟。

指向每个缓存媒体文件的链接保留在一个数据库中。Adobe Media Encoder、Premiere Pro、Encore 和 Soundbooth 共享该媒体缓存数据库,因此,其中每个应用程序都可以从同一组缓存媒体文件中读取或向其中写入数据(注:Adobe Audition CS5.5 不共享该媒体缓存数据库)。如果您更改了数据库相对于任一程序的位置,则数据库相对于其他应用程序的位置也会进行更新。每个应用程序可以使用自己的缓存文件夹,但是同一数据库会跟踪所有程序的缓存文件夹。

  1. 选择“编辑”>“首选项”>“媒体和磁盘缓存”(Windows) 或 After Effects >“首选项”>“媒体和磁盘缓存”(Mac OS),然后执行以下任一操作:

    • 单击其中一个“选择文件夹”按钮可更改媒体缓存数据库或媒体缓存自身的位置。
    • 单击“清理数据库和缓存”,可从缓存中移除经过匹配和索引编制的文件,并从数据库中移除这些文件条目。该命令仅移除与其源文件已不再可用的素材项相关联的文件。
    注意:

    在单击“清理数据库和缓存”按钮之前,应确保当前您正使用的源媒体所在的任何存储设备已连接到您的计算机。如果确定是因为您未连接至素材所在的存储设备而导致素材缺失,则将会移除媒体缓存中的关联文件。此移除操作的结果是,如果以后要使用该素材,则需要对该素材进行重新匹配或重新编制索引。

注意:

使用“清理数据库和缓存”按钮清理数据库和缓存时不会移除与其源文件仍然可用的素材项相关联的文件。要手动移除已匹配的文件和索引文件,请导航至媒体缓存文件夹并删除这些文件。媒体缓存文件夹的位置显示在“符合的媒体缓存”首选项中。如果该路径被截断,单击“选择文件夹”按钮可显示它。

更快、更轻松地获得帮助

新用户?