Have you recently upgraded to a new PC and downloaded the latest After Effects version and started getting intermittent errors on any plugin that uses 3D Ray Tracing? Tried to open the settings and found that your brand new GTX 10 Series card wasn't supported by the program? Or maybe you are like me and use VideoCopilots Element 3D plugin, and found it getting odd 3D and AO related crash errors? Well, look no further, because the root cause of all these issues is that After Effects does not officially support the latest Pascal series of graphics card for anything related to CUDA or 3D Ray Tracing - only OpenCL support is present.
How to enable After Effects CUDA and Ray Traced 3D Support on GeForce GTX Titan Xp, GTX 1080 Ti, GTX 1070, GTX 1060, GTX 1050 Ti and other Pascal based graphics cards
I recently had to go through the same process and you can imagine my frustration when I discovered that while my old GeForce GTX 580 (and old Adobe CC version) worked happily together, my brand new GeForce GTX 1070 was not only failing to be detected by Adobe After Effects, but was causing crashes on anything that had remotely to do with Ray Traced 3D rendering. I have a preference for NVIDIA cards when it comes to workstations because of legacy support for CUDA based tools - which I regularly used, so this was quite an upset for me.
Element3D is one of the most popular 3D motion graphics tools out there that are affordable and available to the mainstream audience. While After Effects now bundles Cinema4D, the intuitive UI and tutorials/model packs available over at the Element3D website make the latter the tool of choice for amateurs all around the world. This is why it seems surprising to me that NVIDIA or After Effects would neglect this user base and not offer any kind of legacy support.
If you go to Preferences -> Preview -> GPU Information, you will see that the 10 series GPU shows up as an unsupported Ray Tracing device - and you can only enable broken CUDA support for it which wont actually fix any problems.
The following problems are related to the lack of support:
- Any crashes related to the native Ray Traced 3D renderer present in After Effects.
- Crashes related to VideoCopilot's Element3D
- Crashes related to VideoCopilot's Element3D particularly when turning on the high quality Ray Traced AO mode.
- Any attempt to open old project files which contains 3D Ray Tracing/Element 3D crashing unceremoniously.
Some sample error messages include:
- Ray-traced 3D: Initial shader compile failed
- Ray-traced 3D: Cannot create context for ray tracer
- Ray-traced 3D: Out of paged memory for ray tracer. Your project may exceed GPU limits. Try closing other applications. Try updating the CUDA driver.
- crash occurred while invoking element 3d plugin
Fortunately, I was quickly able to locate the source of the problem: the OptiX DLL file provided by NVIDIA to After Effects which was now outdated and had no support for GTX 10 series graphics cards, which includes the GeForce GTX TITAN Xp, GTX 1080 Ti, GTX 1080, GTX 1070 Ti, GTX 1060, GTX 1050 Ti and GTX 1050 graphics cards. I assume the problem will also persist for mobility based laptops that use the Pascal architecture as well.
The problem is very easy to fix:
- Download the Optix .dll file from NVIDIA official (any version above 3.9.1 will do) or by using a third party download link, I am using the version downloaded from here - password is idmee.
- Replace the Optix .dll file present in the After Effects root folder (the old version should be 3.6.3 or near that).
- Open the "raytracer_supported_cards.txt" file with notepad and add in your GPU name. The GPU name is simply the full name of your GPU. For eg, mine was "GeForce GTX 1070". If you are not sure, you can run GPU sniffer in CMD to see the name.
- Reboot after effects.
- Go to Preferences -> Preview -> GPU Information -> Change Ray Tracing to "GPU" which should now be fully supported and all the errors should vanish without a trace.
This was a rather shocking experience for me - and I really hope NVIDIA/Adobe realizes that some of the plugins that use Ray Traced 3D are not legacy at the moment - they are very much actively used. Killing support for future CUDA support like this can only hurt future sales, especially when the fix is this easy and as simple as simply including an updated OPTIX dll file.