How to use UHD Cache for animations and stills?


Corona QuickTip: Saving the UHD Cache for animations





Traditionally, users had to choose to either use unbiased algorithms without any caching and wait long time for all renders, or use biased caching algorithms, and deal with splotches, missing shadows, and sensitive input parameters. Corona merges the best of both worlds. Its cached solution, called “UHD Cache”, is significantly faster than plain path tracing, but does not suffer from artifacts, missing contact shadows, or complicated UI controls.



What is UHD Cache?


UHD Cache is a global illumination solver. Corona offers two kinds of GI solvers which can work together:


1. Path Tracing - unbiased solution - should always be used as a primary GI solver. As a secondary GI solver, it is useful mainly in exterior scenes, where UHD Cache would require longer precomputation times and wouldn't be able to improve rendering speed.




2. UHD Cache - slightly biased, cached solution, which speeds up rendering - should be used (but doesn't have to) as the secondary GI solver in scenes where GI is dominant (e.g. interiors, scenes with many light bounces). In such scenarios it greatly improves render speed at the cost of subtle bias.





UHD Cache may be used for both still images and animations, even with moving geometry or light sources. However, it is usually required to use UHD Cache settings adequate to the current scenario.



How to use different precomputation modes?


1. Calculate from scratch - using this mode, the cache will be calculated independently for each frame, and either discarded after the rendering stops, or saved, depending on the "After render" setting. The saved cache file can then be re-used.




2. Load from file - this will load a previously saved cache file specified in the "Filename" field. No precomputation will be done. If the file is not found - a new one will be computed from scratch, and an error message will appear. 




3. Try to load + append - this will first load a previously saved cache file specified in the "Filename" field and then the precomputation pass will run on top of it. The loaded and computed caches will be merged. If the file to load is not found - the precomputation will begin anyway. 




Which UHD Cache precomputation settings should I use?


For still images:

You should use the default settings. Generally, "splotches" should not appear when using the UHD Cache. If you encounter them, they should be considered a bug and reported to us along with the problematic scene. 

See: How to report issues?




For animations:

1. Without moving lights/objects:

Always use "Animation (flicker-free)" preset. If you want to save the time required for precomputation of each frame, you can render UHD Cache for one frame from the middle of the animation and then re-use it for all the other frames. You can also use combination of "Try to Load + Append" and "Save to file" functions to render the cache incrementally. This should be done for several frames of the animation. For example for 400-frames animation, you can set 3ds Max to render every 50th frame to render the UHD Cache only for 8 frames.




2. With moving lights/objects: 

Using the "Animation (flicker-free)" preset and calculating UHD Cache from scratch for each frame is the safest solution. However, you may try using the precomputed UHD Cache solution (see #1), as it may also perform well in some scenarios.



Troubleshooting


Q: How to render cache only, without rendering the actual image?

A: To emulate the "do not render final image" option, set "time limit" to 1 second in Render Setup > Scene > General Settings > Progressive rendering limits. 




Q: How to create a cache file for an animation that will be rendered on a render farm? 

A: Save the cache file in a location accessible for the render nodes using "calculate from scratch" + "After render: Save to file" option. Then use the "load from file" precomputation mode.





Q: My UHD Cache calculation is very slow!

A: Make sure that your Precision value is set to the default 1. Setting it to a higher number may result in much slower calculation without any benefit. If you are sure that the precision is set to 1 and there is still some problem, please contact us




Examples



1. Image rendered with Path Tracing as primary and UHD Cache as secondary solver.
16 passes
Render time: 01:56 - notice the image quality in comparison to other examples, especially in the areas where GI is dominant



2. Image rendered with Path Tracing as both primary and secondary solver.
16 passes
Render time: 03:05



3. Image rendered with Path Tracing as primary solver only.
16 passes
Render time: 02:15


4. Image rendered with both primary and secondary solvers set to "None (biased)".
16 passes
Render time: 01:11