diff options
author | Brecht Van Lommel <brechtvanlommel@pandora.be> | 2013-06-25 02:41:24 +0400 |
---|---|---|
committer | Brecht Van Lommel <brechtvanlommel@pandora.be> | 2013-06-25 02:41:24 +0400 |
commit | 0309f442bb232410e4c7594fa659238bd3854127 (patch) | |
tree | 12bb9fc2ccf814c17bd1dc3befd816e2201c7c41 /source/blender | |
parent | 898b49f7530e860a9accc4bb5ad897d12c55ef02 (diff) |
Render stats text: show elapsed time for blender internal, hide useless "Single Layer"
at the start, more clearly indicate what the render time of the last frame was, some
other tweaks for consistency.
Diffstat (limited to 'source/blender')
-rw-r--r-- | source/blender/editors/render/render_internal.c | 40 | ||||
-rw-r--r-- | source/blender/render/extern/include/RE_pipeline.h | 1 | ||||
-rw-r--r-- | source/blender/render/intern/source/pipeline.c | 1 |
3 files changed, 35 insertions, 7 deletions
diff --git a/source/blender/editors/render/render_internal.c b/source/blender/editors/render/render_internal.c index 4e94e534c4d..4542f140e67 100644 --- a/source/blender/editors/render/render_internal.c +++ b/source/blender/editors/render/render_internal.c @@ -38,6 +38,8 @@ #include "BLI_threads.h" #include "BLI_utildefines.h" +#include "PIL_time.h" + #include "BLF_translation.h" #include "DNA_object_types.h" @@ -296,13 +298,38 @@ static void make_renderinfo_string(RenderStats *rs, Scene *scene, char *str) mmap_used_memory = (mmap_in_use) / (1024.0 * 1024.0); megs_peak_memory = (peak_memory) / (1024.0 * 1024.0); - spos += sprintf(spos, "%s | ", (scene->lay & 0xFF000000) ? IFACE_("Localview") : IFACE_("Single Layer")); + /* local view */ + if(rs->localview) + spos += sprintf(spos, "%s | ", IFACE_("Local View")); + + /* frame number */ spos += sprintf(spos, IFACE_("Frame:%d "), (scene->r.cfra)); + /* previous and elapsed time */ + BLI_timestr(rs->lastframetime, info_time_str, sizeof(info_time_str)); + + if (rs->infostr && rs->infostr[0]) { + if (rs->lastframetime != 0.0) + spos += sprintf(spos, IFACE_("| Last:%s "), info_time_str); + else + spos += sprintf(spos, "| "); + + BLI_timestr(PIL_check_seconds_timer() - rs->starttime, info_time_str, sizeof(info_time_str)); + } + else + spos += sprintf(spos, "| "); + + spos += sprintf(spos, IFACE_("Time:%s "), info_time_str); + + /* statistics */ if (rs->statstr) { - spos += sprintf(spos, "| %s ", rs->statstr); + if(rs->statstr[0]) + spos += sprintf(spos, "| %s ", rs->statstr); } else { + if (rs->totvert || rs->totface || rs->tothalo || rs->totstrand || rs->totlamp) + spos += sprintf(spos, "| "); + if (rs->totvert) spos += sprintf(spos, IFACE_("Ve:%d "), rs->totvert); if (rs->totface) spos += sprintf(spos, IFACE_("Fa:%d "), rs->totface); if (rs->tothalo) spos += sprintf(spos, IFACE_("Ha:%d "), rs->tothalo); @@ -310,10 +337,10 @@ static void make_renderinfo_string(RenderStats *rs, Scene *scene, char *str) if (rs->totlamp) spos += sprintf(spos, IFACE_("La:%d "), rs->totlamp); if (rs->mem_peak == 0.0f) - spos += sprintf(spos, IFACE_("Mem:%.2fM (%.2fM, Peak %.2fM) "), + spos += sprintf(spos, IFACE_("| Mem:%.2fM (%.2fM, Peak %.2fM) "), megs_used_memory, mmap_used_memory, megs_peak_memory); else - spos += sprintf(spos, IFACE_("Mem:%.2fM, Peak: %.2fM "), rs->mem_used, rs->mem_peak); + spos += sprintf(spos, IFACE_("| Mem:%.2fM, Peak: %.2fM "), rs->mem_used, rs->mem_peak); if (rs->curfield) spos += sprintf(spos, IFACE_("Field %d "), rs->curfield); @@ -321,12 +348,11 @@ static void make_renderinfo_string(RenderStats *rs, Scene *scene, char *str) spos += sprintf(spos, IFACE_("Blur %d "), rs->curblur); } - BLI_timestr(rs->lastframetime, info_time_str, sizeof(info_time_str)); - spos += sprintf(spos, IFACE_("Time:%s "), info_time_str); - + /* full sample */ if (rs->curfsa) spos += sprintf(spos, IFACE_("| Full Sample %d "), rs->curfsa); + /* extra info */ if (rs->infostr && rs->infostr[0]) spos += sprintf(spos, "| %s ", rs->infostr); diff --git a/source/blender/render/extern/include/RE_pipeline.h b/source/blender/render/extern/include/RE_pipeline.h index 118d0036464..da53bc5a819 100644 --- a/source/blender/render/extern/include/RE_pipeline.h +++ b/source/blender/render/extern/include/RE_pipeline.h @@ -145,6 +145,7 @@ typedef struct RenderStats { int cfra; int totface, totvert, totstrand, tothalo, totlamp, totpart; short curfield, curblur, curpart, partsdone, convertdone, curfsa; + bool localview; double starttime, lastframetime; const char *infostr, *statstr; char scene_name[MAX_ID_NAME - 2]; diff --git a/source/blender/render/intern/source/pipeline.c b/source/blender/render/intern/source/pipeline.c index 51fb83d010b..f161e139989 100644 --- a/source/blender/render/intern/source/pipeline.c +++ b/source/blender/render/intern/source/pipeline.c @@ -2379,6 +2379,7 @@ static int render_initialize_from_main(Render *re, Main *bmain, Scene *scene, Sc re->scene_color_manage = BKE_scene_check_color_management_enabled(scene); re->camera_override = camera_override; re->lay = lay; + re->i.localview = (lay & 0xFF000000) != 0; /* not too nice, but it survives anim-border render */ if (anim) { |