Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSergey Sharybin <sergey.vfx@gmail.com>2012-10-08 15:48:51 +0400
committerSergey Sharybin <sergey.vfx@gmail.com>2012-10-08 15:48:51 +0400
commitdb54caf430071090b9e3bfa86deba778166447ef (patch)
tree4c6c209dde3f4d5cca7dddca35411e5592497912
parent10547d4c67388b909d6def623bca82d19b751880 (diff)
Fix #32800: Cycles viewport incredible slow with high number of tiles
Final rendering is clamping tile resolution if it's too small, which was missing for viewport
-rw-r--r--source/blender/editors/space_view3d/view3d_draw.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/source/blender/editors/space_view3d/view3d_draw.c b/source/blender/editors/space_view3d/view3d_draw.c
index c6bcbfbf50d..c5246b1ad1f 100644
--- a/source/blender/editors/space_view3d/view3d_draw.c
+++ b/source/blender/editors/space_view3d/view3d_draw.c
@@ -2856,6 +2856,12 @@ static int view3d_main_area_draw_engine(const bContext *C, ARegion *ar, int draw
engine->tile_x = ceil(ar->winx / (float)scene->r.xparts);
engine->tile_y = ceil(ar->winy / (float)scene->r.yparts);
+ /* clamp small tile sizes to prevent inefficient threading utilization
+ * the same happens for final renders as well
+ */
+ engine->tile_x = MAX2(engine->tile_x, 64);
+ engine->tile_y = MAX2(engine->tile_x, 64);
+
type->view_update(engine, C);
rv3d->render_engine = engine;