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 |
---|---|---|---|---|---|
i9-9900K 3.6GHz | 24 | 24 | 22.8 | 16.4 | 13.7 |
i7-5820K 3.3GHz | 24 | 17.4 | 14.7 | 10.7 | 8.6 |
CPU | Rex Only | Rex, Victoria | Rex, Victoria, 4 Sprites | Rex, Victoria, 8 Sprites | Rex, Victoria, 8 Sprites, Set |
---|---|---|---|---|---|
i9-9900K 3.6GHz | 24 | 24 | 19.3 | 14.2 | 11.2 |
i7-5820K 3.3GHz | 24 | 22.3 | 13.2 | 9.5 | 6.2 |
Character | Bones (Deforming/Total) | Drivers | Verts |
---|---|---|---|
Snail | 57/460 | 240 | 3600 |
Sprite | 194/1300 | 970 | 15000 |
Victoria | 249/2000 | 1000 | 30000 |
Rex | 298/2000 | 1300 | 41000 |
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!
For more Demeter, see this post on what he's learned from the production so far. And be sure to check out the weekly logs for rigging-related goings-on.
Nice work! Those are similar number to what I've seen in studios recently... if they are lucky. How many of those 2000 bones on Rex are skinned?
@Jeremy Bot That is a great question, I should add that to the post since it's more relevant to performance than just sheer bone count! The number of deforming bones on Rex is 298.
@Jeremy Bot Updated the post with another table, much prettier than the bullet points before, and included deforming bone count!
@Demeter Dzadik PERFECT! Thanks.
Yo, Demeter is the greatest and one of my favorites, If Simon is the master of shading than he is the master of rigging, and can literally do anything that is thrown at him .So when Demeter and Simon are there, its like a PB and J or Chips and dip . It is like when two gods collide . This movie for me has high hopes and how it is truly going to be the greatest Open Movie Blender has made so far. :)
@Obrien Productions I whole-heartedly agree with every word you just said.
Join to leave a comment.