20th Apr 2021 | Open Movie | Sprite Fright
One of Sprite Fright’s earliest goals was to improve viewport playback speed within Blender. This desire can be traced way back, even before pre-production.
Developer Jeroen Bakker and others have introduced many optimizations on the playback speed front, including overrides (developed by Bastien Montagne, a significant improvement on the old proxy system). Purely for your curiosity, here are some very rudimentary performance tests from Sprite Fright’s production environment.
The tables below show frames-per-second for two separate computers running two scenes, and show how frame rate is affected as more and more characters and elements in the scene are enabled. Note that usually you don't need to see everything while working on any given shot, but of course the less you have to juggle the visibility of various elements to gain the desired performance, the smoother your workflow will be.
|CPU||Rex Only||Rex, Set||Rex, 2 Snails, Set||Rex, 8 Snails, Set||Rex, 13 Snails, Set|
|CPU||Rex Only||Rex, Victoria||Rex, Victoria, 4 Sprites||Rex, Victoria, 8 Sprites||Rex, Victoria, 8 Sprites, Set|
It’s hard to make a dent in Blender's playback speed with drivers and bones. By far the most important thing here is the number of vertices being deformed by Armature, Corrective Smooth, Shrinkwrap and Lattice modifiers. The characters on this project are reasonably simple, so we can use the same model for animation and render, and we don't necessarily have to use a mesh proxy system (so far at least). This also has the benefit of letting animators work with something that is very close to the final result, which is a high priority for us.
I think today's viewport playback performance is very impressive compared to previous versions of Blender, and while I still look forward to more advanced features like caching systems or a faster Armature modifier, these aren’t vital for Sprite Fright. Not having the viewport run at two fps was vital, and that goal has already been achieved!
P.S. Pablo Fournier's computer just got an upgrade, thanks to these performance tests and the generous support of Blender Cloud subscribers!