[Bf-blender-cvs] [b5d900c] master: Color management: Skip doing float->rect conversion twice when rendering animation

Sergey Sharybin noreply at git.blender.org
Mon Nov 16 12:43:53 CET 2015


Commit: b5d900c272d1010f199c0634412ba916962f8c61
Author: Sergey Sharybin
Date:   Mon Nov 16 16:32:51 2015 +0500
Branches: master
https://developer.blender.org/rBb5d900c272d1010f199c0634412ba916962f8c61

Color management: Skip doing float->rect conversion twice when rendering animation

This is something what IMB_colormanagement_imbuf_for_write() is intended to do.

Gives around 40% speedup in test wile with OpenGL render and about 20% when
rendering simple cube scene animation.

===================================================================

M	source/blender/render/intern/source/pipeline.c

===================================================================

diff --git a/source/blender/render/intern/source/pipeline.c b/source/blender/render/intern/source/pipeline.c
index 4a079c6..7620a64 100644
--- a/source/blender/render/intern/source/pipeline.c
+++ b/source/blender/render/intern/source/pipeline.c
@@ -3357,14 +3357,6 @@ bool RE_WriteRenderViewsMovie(
 			const char *suffix = BKE_scene_multiview_view_id_suffix_get(&scene->r, view_id);
 			ImBuf *ibuf = render_result_rect_to_ibuf(rr, &scene->r, view_id);
 
-			/* note; the way it gets 32 bits rects is weak... */
-			if (ibuf->rect == NULL) {
-				ibuf->rect = MEM_mapallocN(sizeof(int) * rr->rectx * rr->recty, "temp 32 bits rect");
-				ibuf->mall |= IB_rect;
-				render_result_rect_get_pixels(rr, ibuf->rect, width, height, &scene->view_settings, &scene->display_settings, view_id);
-				do_free = true;
-			}
-
 			IMB_colormanagement_imbuf_for_write(ibuf, true, false, &scene->view_settings,
 			                                    &scene->display_settings, &scene->r.im_format);




More information about the Bf-blender-cvs mailing list