Traditionally, users had to choose to either use unbiased algorithms without any caching and wait a 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.
See also: How to fix flickering in animations?
What is UHD Cache?
UHD Cache is a global illumination solver. Corona offers two kinds of GI solvers that 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 the 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.
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.
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.
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.
1. Image rendered with Path Tracing as primary and UHD Cache as the secondary solver.
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.
Render time: 03:05
3. Image rendered with Path Tracing as primary solver only.
Render time: 02:15
4. Image rendered with both primary and secondary solvers set to "None (biased)".
Render time: 01:11