Get the latest tech news

Bezier Curve as Easing Function in C++


19 Sep 2025 This is a guest post from my friend Łukasz Izdebski Ph.D. It’s been a while since my last guest post on Adam’s blog, but I’m back with something short and practical—think of it as an epilogue to this earlier post on Bézier curves in animation.

The chart and the table below presents the benchmark results using a box plot, highlighting the distribution and variability of each algorithm’s performance in PRECISE mode with AVX2 extensions turned On. AlgorithmPerformanceVariationConclusionsEasing Cubic BezierVery stable and consistently low execution timeMinimalMost predictable and effective in typical use casesNumeric Solution 1Highly variable — ranging from excellent to extremely slowHuge, with many outliersEfficient in some cases, but unstable and prone to severe slowdownsNumeric Solution 2Similar to Numeric Solution 1, but with more symmetrical behaviorLarge, but less extremeMore balanced overall, though still susceptible to performance issuesOriginal BlenderHigh execution timeVery smallStable and predictable; useful when consistency is more important than speedOptimised BlenderModerate execution timeSmallA good compromise between speed and stability By representing Bézier curves explicitly in just 28 bytes ( float) or 56 bytes ( double) using the proposed method, this approach delivers both speed and stability—making it ideal for real-time animation systems. I am working on another solution, whose main goal will be maximum performance in runtime, while maintaining flexibility comparable to that offered by cubic Bézier curves.

Get the Android app

Or read this on Hacker News

Read more on:

Photo of C++

C++

Photo of bezier curve

bezier curve

Photo of easing function

easing function

Related news:

News photo

In Defense of C++

News photo

Rust-style safety model for C++ 'rejected' as profiles take priority

News photo

A string formatting library in 65 lines of C++