Page MenuHome

Performance: Reuse last evaluated fcurve when evaluating a list of fcurves
Needs ReviewPublic

Authored by Jeroen Bakker (jbakker) on Fri, Jun 26, 2:31 PM.

Details

Summary

Reshuffled animsys_evaluate_fcurves so it reuses the last resolved rna path.
Localized small float/int/boolean arrays to reduce the RNA read/write overhead.
Values are written to the rna when switching to the next RNA property.

This patch does not sort the fcurves but most likely they are already sorted.

Impact on performance increase is from 12.4 fps to 12.5 fps using Spring 02_020_A.anim.blend on a Ryzen 1700.

Diff Detail

Repository
rB Blender
Branch
arcpatch-D8131 (branched from master)
Build Status
Buildable 8925
Build 8925: arc lint + arc unit

Event Timeline

Jeroen Bakker (jbakker) requested review of this revision.Fri, Jun 26, 2:31 PM
Jeroen Bakker (jbakker) created this revision.
Jeroen Bakker (jbakker) retitled this revision from Performance: AnimationSystem evaluate fcurves to Performance: Reuse last evaluated fcurve when evaluating a list of fcurves.Fri, Jun 26, 2:35 PM
Jeroen Bakker (jbakker) edited the summary of this revision. (Show Details)
Jeroen Bakker (jbakker) planned changes to this revision.Sat, Jun 27, 12:36 PM

We should do the first 3 phases in a single go they all change this function.

Localized small arrays to reduce read/write overhead

  • Removed unneeded branch + spelling
  • Removed unused code