[Bf-committers] Blender performance measuring instrumentation improvement proposal

Joshua Leung aligorith at gmail.com
Wed Jun 10 12:54:11 CEST 2015


Hi,

We actually have something like this already
  bpy.ops.wm.redraw_timer()    (i.e. Ctrl-Alt-T)

This can be used for testing how long it takes to do things like redrawing
the screen/area/region(?) 10 times, and also for things like animation
playback and undo/redo times. If you need anything else specific, it could
probably be added there I guess...

Joshua

On Wed, Jun 10, 2015 at 10:09 PM, Martijn Berger <martijn.berger at gmail.com>
wrote:

> Hello everyone,
>
>
> Blender is evolving at a rather nice pace currently but I feel we could use
> better measurements to guide its the performance aspect of this a bit
> better.
>
> Some 3d games (like quake) have a feature called “timedemo” this basically
> runs the game as fast as the hardware will let it run. I tried doing
> something similar in blender and found a number of little things that maybe
> could be tweaked to make this possible.
>
> Overview of how this would work:
>
> The user runs the command:
>
> “blender --factory-startup --python-expr="import bpy;
> bpy.ops.debug_timer(type='FULLTEST', report=True); sys.exit(0);"
> demo_scene.blend”
>
> The following happens:
>
>
>    1.
>
>    Blender starts and loads demo_scene.blend
>    2.
>
>    Blender executes the python expression passed to it
>    3.
>
>    debug_timer() is invoked:
>    1.
>
>       Move animation counter to the start of the range
>       2.
>
>       unlock max fps ( if vsync is disabled this allows very high
>       framerates)
>       3.
>
>       Gets an accurate time measurement
>       4.
>
>       Run the animation and render 1 OpenGL frame per frame of animation
>       5.
>
>       At the end of the range, capture time again
>       6.
>
>       Print this time ( to stdout ?)
>       4.
>
>    sys.exit(0), exit blender
>
>
> What we need for this to work:
>
>
>    1.
>
>    implement bpy.ops.debug_timer()
>    2.
>
>    Allow higher then 120 fps for animation playback
>    3.
>
>    Not sure, if we allow gl frames to be locked to blender animation frames
>    4. (optional) implement ‘python-expr’ command line argument
>
>
>
> I might have missed stuff but the purpose of this message is to inform and
> discus the possibility as well as map out the bits and pieces that need to
> be done in order to get this functionality.
>
> I think something like this could also be instrumental in achieving high
> performance in the viewport project.
>
>
> Martijn
> _______________________________________________
> Bf-committers mailing list
> Bf-committers at blender.org
> http://lists.blender.org/mailman/listinfo/bf-committers
>


More information about the Bf-committers mailing list