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.
This commit is contained in:
@@ -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->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->stats_draw(&re->i);
|
||||||
re->i.starttime= PIL_check_seconds_timer();
|
|
||||||
|
|
||||||
if(re->result==NULL)
|
if(re->result==NULL)
|
||||||
return;
|
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);
|
freeparts(re);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1215,11 +1211,15 @@ void RE_TileProcessor(Render *re, int firsttile)
|
|||||||
|
|
||||||
re->i.partsdone= firsttile;
|
re->i.partsdone= firsttile;
|
||||||
|
|
||||||
|
re->i.starttime= PIL_check_seconds_timer();
|
||||||
|
|
||||||
//if(re->r.mode & R_THREADS)
|
//if(re->r.mode & R_THREADS)
|
||||||
// threaded_tile_processor(re);
|
// threaded_tile_processor(re);
|
||||||
//else
|
//else
|
||||||
render_tile_processor(re, firsttile);
|
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;
|
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)) {
|
if(composite_needs_render(re->scene)) {
|
||||||
/* save memory... free all cached images */
|
/* save memory... free all cached images */
|
||||||
ntreeFreeCache(ntree);
|
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);
|
re->display_draw(re->result, NULL);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1718,6 +1712,8 @@ static void yafrayRender(Render *re)
|
|||||||
/* main loop: doing sequence + fields + blur + 3d render + compositing */
|
/* main loop: doing sequence + fields + blur + 3d render + compositing */
|
||||||
static void do_render_all_options(Render *re)
|
static void do_render_all_options(Render *re)
|
||||||
{
|
{
|
||||||
|
re->i.starttime= PIL_check_seconds_timer();
|
||||||
|
|
||||||
if(re->r.scemode & R_DOSEQ) {
|
if(re->r.scemode & R_DOSEQ) {
|
||||||
if(!re->test_break())
|
if(!re->test_break())
|
||||||
do_render_seq(re->result, re->r.cfra);
|
do_render_seq(re->result, re->r.cfra);
|
||||||
@@ -1732,6 +1728,9 @@ static void do_render_all_options(Render *re)
|
|||||||
else
|
else
|
||||||
do_render_composite_fields_blur_3d(re);
|
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)
|
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);
|
bMovieHandle *mh= BKE_get_movie_handle(scene->r.imtype);
|
||||||
int cfrao= scene->r.cfra;
|
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))
|
if(!render_initialize_from_scene(re, scene))
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user