This function was noticeably lagging the main thread while caching. The cause was OpenEXR's internal thread pool competing with our main thread. Since we have our own system of worker threads, its thread pool was unnecessary for caching, however for normal playback it was a useful optimization. Unfortunately OIIO (which we were using to save EXRs) didn't provide quite enough control over OpenEXR's threading behavior (only providing control for over the global thread pool and not on a per-image basis), so for caching we've switched to using OpenEXR directly. This has noticeably sped up the main thread while causing no noticeable slowdown to the caching process.
Olive Video Editor

Olive is a free non-linear video editor for Windows, macOS, and Linux.
Discover more: Website | Twitter | Discord | Code Documentation
NOTE: The issue tracker is temporarily closed while Olive's core is getting rewritten. We apologize for any inconvenience. Please check back soon for the next release, as well as the Patreon page for news and updates.
Getting Started with Olive:
Installation of Olive is available at: https://olivevideoeditor.org/download.php
Instructions on how to use Olive are available on our wiki: https://github.com/olive-editor/olive/wiki/Overview-Guide
NOTE: Olive is Alpha Software, and it should be treated as highly unstable. Work at your own risk.
Support Olive:
Please consider supporting Olive:
NOTE: It is strongly discouraged to use or compile the master branch in its current state as it's under heavy restructuring. Please use the 0.1.x code from the "Releases" tab instead.
Compiling from Source:
Compiling instructions for Windows, macOS, and Linux can be found on the main site.
Olive has Doxygen-compatible documentation hosted at http://olivevideoeditor.org/doxygen/. You can also run doxygen in the source root directory to generate a local copy.

