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@blender.org http://lists.blender.org/mailman/listinfo/bf-committers