After Effects CS6 中的 OpenGL 功能不同于之前版本中的 OpenGL 功能。本文档仅适用于 After Effects CS4 到 CS5.5。有关 After Effects CS6 GPU 功能的更多信息,请观看此视频。
本文档可帮助您解决使用 After Effects 时发生的与 OpenGL 有关的问题。OpenGL 问题有许多不同的表现形式,包括(但不限于)以下几种:
- Adobe After Effects 在启动时崩溃或关闭但不显示任何错误。
- 当您拖动时间轴进行播放或者预览或渲染合成时发生崩溃或冻结。
- 当您在启用了 OpenGL 预览的情况下更改效果设置时发生崩溃。
- 当您启用或禁用 OpenGL 预览时,发生崩溃或冻结。
- 合成窗口的重绘需要很长时间。
- 在合成窗口中绘制了伪像或者“垃圾”像素块。
- OpenGL 预览开启时合成窗口的绘制方式与 OpenGL 预览关闭时不同。
- 显示一条错误消息,例如以下错误消息之一:
“After Effects 警告:处理 OpenGL 命令时出现问题。”
“‘0x00fe1940’处的指令引用了‘0x000000000’处的内存。无法‘读取’内存。”
“AE_OpenGL:未能生成阴影贴图 (5065::0)”
“此合成对于 OpenGL 硬件来说太复杂了。”
“After Effects 错误:AE_OpenGL:创建纹理时出错。(5065 :: 0)”
有关如何在 After Effects 中配置 OpenGL 预览首选项的信息和 After Effects 中可以使用 OpenGL 渲染的功能列表,请参阅 After Effects 帮助中的使用 OpenGL 渲染。
若要最大限度地受益于此文档,请按照顺序执行任务。 记录所执行的任务以及每项任务的结果,包括错误和其他问题。如果致电 Adobe 技术支持部门,他们可以使用这些信息为您提供更好的帮助。
在执行本文档中的某些步骤时,有必要以管理员的身份登录。
对于 Windows,下面某些步骤需要您查找隐藏的文件和文件夹。某些步骤需要您通过完整的文件名(包括扩展名)来查找文件,例如 example_filename.ini。默认情况下,Windows 资源管理器不显示隐藏的文件和文件夹及其识别的文件扩展名。有关详细信息,请参阅在 Windows 中显示隐藏的文件和文件夹。
对于 Windows Vista,本文档中提到“控制面板”的步骤均指“经典”视图。有关将“控制面板”切换到“经典”视图以及其他一些常见操作系统过程的信息,请参阅常见操作系统过程。
这些任务可帮助您解决最常见的 OpenGL 问题。在执行其中的任何任务之前,请备份所有个人文件(例如,您创建的 After Effects 文件)。在出现系统错误后,务必重新启动计算机以刷新内存。不重新启动计算机而继续工作会使问题更复杂。
1. 更新到 After Effects 的最新版本
要检查更新,请在 After Effects 中选择“帮助”>“更新”。
2. 确保计算机系统满足 After Effects 的最低要求。
请参阅以下页面以查看 After Effects 的系统要求列表:Adobe After Effects 系统要求
3. 确保显卡和驱动程序满足 OpenGL 要求。
在 After Effects 中使用 OpenGL 需要支持 OpenGL 2.0 的 OpenGL 卡。
要确定您的卡支持哪个版本的 OpenGL,请单击“预览”首选项中的“OpenGL 信息”按钮。在 Mac OS 中,选择“After Effects”>“首选项”>“预览”。在 Windows 中,选择“编辑”>“首选项”>“预览”。
有关受支持的 OpenGL 硬件的信息,请参阅 GPU(CUDA、OpenGL)功能。
较新的显卡驱动程序可以改进您显卡的 OpenGL 功能。请参阅下文中的更新显卡驱动程序。
4. 禁用 OpenGL 以确定问题是否由它引起。
要禁用 OpenGL 预览,请执行以下步骤:
-
选择“After Effects”>“首选项”>“预览”(Mac OS) 或者“编辑”>“首选项”>“预览”(Windows)。
-
取消选择“启用 OpenGL”选项。
注意:OpenGL 不支持 After Effects 中的某些功能,并且 OpenGL 预览和软件渲染的预览所呈现的合成外观可能有所不同。有关 OpenGL 支持的功能的列表,请参阅 After Effects 帮助的“渲染和导出”部分中的使用 OpenGL 渲染。
5. 从 After Effects 增效工具文件夹中删除 OpenGL 增效工具。
要确定问题是否由 OpenGL 引起,请删除 OpenGL 增效工具并重新启动 After Effects。
要删除 OpenGL 增效工具,请执行以下步骤:
-
退出 After Effects.
-
Mac OS:将 AE_OpenGL.plugin 文件从 Applications/Adobe After Effects CS4/Plug-ins/Extensions 文件夹拖动到桌面上。
Windows:将 AE_OpenGL.AEX 文件从 C:\Program Files\Adobe\Adobe After Effects CS4\Support Files\Plug-ins\Extensions 文件夹拖动到桌面上。 -
重新启动 After Effects。
如果问题再次出现,则表示并非由 OpenGL 引起。将 OpenGL 增效工具拖回原始位置。如果问题不再出现,则表示是由 OpenGL 引起的。请参阅下文中的更新显卡驱动程序。
6. 更新显卡驱动程序。
许多 OpenGL 问题或冲突可以通过更新显卡驱动程序来解决。许多显卡制造商会频繁地更新其软件驱动程序。如果您最近未更新过显卡驱动程序,请联系显卡制造商以获得更新的驱动程序,或者从制造商的网站下载。
7. 重新启动 After Effects 并测试导致崩溃的行为。(仅限 Windows)
在 Windows 上,当 OpenGL 问题导致发生崩溃之后,After Effects CS4 可能会自动禁用“防止 DLL 地址空间碎片化”首选项。此首选项使 After Effects 可以访问更多的连续 RAM,但可能与一些 OpenGL 驱动程序不兼容。
您可以通过前往“编辑”>“首选项”>“内存和缓存”来启用或禁用“防止 DLL 地址空间碎片化”首选项。
除非遇到与 OpenGL 或内存有关的崩溃,否则请启用此首选项。如果您由于 OpenGL 问题禁用了该首选项,后来更新了显卡驱动程序,请重新启用该首选项。然后,再次测试问题。
8. 优化“纹理内存”首选项。
如果 After Effects 尝试使用的视频纹理内存过多,则可能会发生崩溃或 OpenGL 错误。纹理内存是显卡上 RAM 的大小 (VRAM)。
在 After Effects 中设置“纹理内存”首选项:
-
将安装的总 VRAM 乘以 80%,即可计算出最佳“纹理内存”设置。
-
在 After Effects 中,选择“After Effects”>“首选项”>“预览”(Mac OS) 或者“编辑”>“首选项”>“预览”(Windows)。
-
单击“OpenGL 信息”。
-
输入您在第 1 步中计算的值,然后单击“确定”。
纹理内存的理想值为显卡上 VRAM 的 80%。(如果您使用多个显卡,请将在“OpenGL 信息”对话框中确定的显卡的 VRAM 乘以 80%。)如果 After Effects 中的“纹理内存”首选项设置为高于 VRAM 的 80%,则可能是供显卡用来处理用户界面或其他任务的 VRAM 不足。(例如,整个屏幕可能会变白。)如果该值设置为低于 80%,则 After Effects 中的 OpenGL 预览可能需要更长时间来处理帧。
有关确定显卡上 VRAM 大小的信息,请参阅 Mac OS 帮助或 Windows 帮助。
9. 清理图像缓存和显存。
如果 After Effects 在合成窗口中显示伪像或“垃圾”(不正确的像素块),则显存 (VRAM) 可能已满、已碎片化或已损坏。清理图像缓存和显存可清空 VRAM 并让 After Effects 重建合成预览。
要清理图像缓存,请选择“编辑”>“清理”>“图像缓存”。
要清理显存,请选择“编辑”>“清理”>“显存”。
注意:一些使用 OpenGL(或 Windows 中的 Direct3D)的屏幕保护程序可能会损坏显存(如果它们在 After Effects 运行期间激活)。如果您在打开屏幕保护程序之后经常遇到合成窗口中的图像损坏问题,请更改或禁用屏幕保护程序。
10. 将显卡的颜色设置更改为“最高”(32 位)(Windows) 或者“上千万种”(Mac OS)。
有关更改显卡或显示设置的信息,请参阅 Mac OS 帮助或 Windows 帮助。
11. 禁用显卡的高级功能。(仅限 Windows)
大多数显卡驱动程序包括允许您访问显卡高级功能的实用程序。需要特别指出的是,消除锯齿和 16 位模式功能可能与 OpenGL 冲突并导致 After Effects 崩溃。将显卡的高级功能设置为其默认值,然后禁用消除锯齿和 16 位模式选项。
如果您使用一个 NVIDIA 显卡支持多个显示器,请将“多个显示器”设置配置为“兼容”。
有关如何访问显卡高级功能的说明,请参阅显卡的文档或制造商的网站。
12. 使用一个显示器。
如果您使用多个显示器并在 After Effects 遇到 OpenGL 问题,请尝试以下操作:
- 如果您之前将 After Effects 应用程序窗口或“合成”面板放在辅助显示器上,请将窗口移至主显示器上。
- 只保留一个显示器,断开其他所有显示器的连接。
- 如果您使用多个显卡,则只保留一个显卡,卸下其他所有显卡。为了在使用 OpenGL 时获得最佳效果,请使用一个双屏显卡。
13. 将“Reduce OpenGL Texture Size”脚本放置到 Startup 脚本文件夹中。
“Reduce OpenGL Texture Size”脚本用于缩减 After Effects 使用的纹理内存大小,并且可以实现与早期显卡更好的兼容。
要将“Reduce OpenGL Texture Size”脚本放置到 Startup 脚本文件夹中,请执行以下步骤:
-
导航到 After Effects 脚本文件夹。
在 Mac OS 上:Applications/Adobe After Effects CS4/Scripts。
在 Windows 上:C:\Program Files\Adobe\Adobe After Effects CS4\Support Files\Scripts。
-
将 Reduce OpenGL Texture Size.jsx 文件从 (support) 文件夹移至 Startup 文件夹。
较新的显卡自身可以改进计算机的 OpenGL 功能,因此无需使用该脚本。在您安装新显卡和驱动程序之后,请将“Reduce OpenGL Texture Size”脚本移回 (support) 文件夹。然后重置 After Effects 首选项。
14. 重置 After Effects 首选项。
重新创建 After Effects 首选项文件可消除 OpenGL 首选项损坏可能导致的问题。
要重新创建 After Effects 首选项文件,请重新启动 After Effects。在应用程序启动时按住 Ctrl+Alt+Shift (Windows) 或 Command+Option+Shift (Mac OS)。
15. 联系 Adobe 技术支持。
如果以上步骤都未解决您在 After Effects 中遇到的错误或冻结,请联系 Adobe 技术支持部门。您可以在 Adobe 支持中找到支持选项。