diff options
author | Ton Roosendaal <ton@blender.org> | 2006-07-02 12:15:16 +0400 |
---|---|---|
committer | Ton Roosendaal <ton@blender.org> | 2006-07-02 12:15:16 +0400 |
commit | fc1becdcd22b07f6a1001ce00829a4387d90255c (patch) | |
tree | f75e4ce8305b8e701aaca0f7dc3a78ae245ed824 /source | |
parent | 0cbb917e6083ca7b9ffddfd3b3fa5ce61c3a20c0 (diff) |
bug #4559
Render timers were called in the internal render loops (tile processor),
they still had to be moved to the outer loop, so they include fields/blur
or sequencer render timing correctly.
Diffstat (limited to 'source')
-rw-r--r-- | source/blender/render/intern/source/pipeline.c | 23 |
1 files changed, 11 insertions, 12 deletions
diff --git a/source/blender/render/intern/source/pipeline.c b/source/blender/render/intern/source/pipeline.c index 1cac8b2cbcf..1b2e9705054 100644 --- a/source/blender/render/intern/source/pipeline.c +++ b/source/blender/render/intern/source/pipeline.c @@ -936,9 +936,7 @@ static void render_tile_processor(Render *re, int firsttile) re->result= new_render_result(re, &re->disprect, 0, RR_USEMEM); } - re->i.lastframetime= PIL_check_seconds_timer()- re->i.starttime; re->stats_draw(&re->i); - re->i.starttime= PIL_check_seconds_timer(); if(re->result==NULL) return; @@ -971,8 +969,6 @@ static void render_tile_processor(Render *re, int firsttile) } } - re->i.lastframetime= PIL_check_seconds_timer()- re->i.starttime; - re->stats_draw(&re->i); freeparts(re); } @@ -1214,12 +1210,16 @@ void RE_TileProcessor(Render *re, int firsttile) /* the partsdone variable has to be reset to firsttile, to survive esc before it was set to zero */ re->i.partsdone= firsttile; - + + re->i.starttime= PIL_check_seconds_timer(); + //if(re->r.mode & R_THREADS) // threaded_tile_processor(re); //else render_tile_processor(re, firsttile); + re->i.lastframetime= PIL_check_seconds_timer()- re->i.starttime; + re->stats_draw(&re->i); } @@ -1610,9 +1610,6 @@ static void do_render_composite_fields_blur_3d(Render *re) { bNodeTree *ntree= re->scene->nodetree; - /* we set start time here, for main Blender loops */ - re->i.starttime= PIL_check_seconds_timer(); - if(composite_needs_render(re->scene)) { /* save memory... free all cached images */ ntreeFreeCache(ntree); @@ -1646,9 +1643,6 @@ static void do_render_composite_fields_blur_3d(Render *re) } } - re->i.lastframetime= PIL_check_seconds_timer()- re->i.starttime; - re->stats_draw(&re->i); - re->display_draw(re->result, NULL); } @@ -1718,6 +1712,8 @@ static void yafrayRender(Render *re) /* main loop: doing sequence + fields + blur + 3d render + compositing */ static void do_render_all_options(Render *re) { + re->i.starttime= PIL_check_seconds_timer(); + if(re->r.scemode & R_DOSEQ) { if(!re->test_break()) do_render_seq(re->result, re->r.cfra); @@ -1732,6 +1728,9 @@ static void do_render_all_options(Render *re) else do_render_composite_fields_blur_3d(re); } + + re->i.lastframetime= PIL_check_seconds_timer()- re->i.starttime; + re->stats_draw(&re->i); } static int is_rendering_allowed(Render *re) @@ -1950,7 +1949,7 @@ void RE_BlenderAnim(Render *re, Scene *scene, int sfra, int efra) bMovieHandle *mh= BKE_get_movie_handle(scene->r.imtype); int cfrao= scene->r.cfra; - /* on each frame initialize, this for py scripts that define renderdata settings */ + /* do not call for each frame, it initializes & pops output window */ if(!render_initialize_from_scene(re, scene)) return; |