Lottie is Airbnb’s cross-platform, open source library for rendering vector motion graphics. The platform also provides animations across thousands of other applications in the industry.
Previous versions of Lottie rendered animations in the application’s main thread, effectively using CADisplayLink. Once every frame, Lottie executes code on the main thread to accelerate the animation’s progress and re-render its content.
This system framework renders the animations out-of-process using GPU hardware acceleration. The playback of the animations is managed by a separate system process called a “rendering server”.
This new engine eliminates CPU load when playing back a Lottie animation and effectively ensures that Lottie animations will play back smoothly at 60 or 120 fps regardless of the application’s CPU load.
As of today’s Lottie 4.0 release for iOS, the Core Animation rendering engine is enabled by default for all apps using Lottie, with no additional work or migration required on the part of app developers.