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:
authorErik <ecke101@gmail.com>2021-11-18 23:21:10 +0300
committerErik <ecke101@gmail.com>2021-11-18 23:21:10 +0300
commitb2d37c35d068ee9a58f9d92936b286178feaf0fc (patch)
tree0cb8c30c870a1bd64f024d35a2b45979646ebf93 /source/blender/editors/space_node/node_draw.cc
parent167ee8f2c7baf5ca4869aceaa275bd704b802b73 (diff)
Node Editor: Skip socket drawing on low zoom
Socket drawing can be heavy with many nodes. This patch skips drawing them on scale < 0.2 when they are barely visible anyway. Differential Revision: https://developer.blender.org/D13255
Diffstat (limited to 'source/blender/editors/space_node/node_draw.cc')
-rw-r--r--source/blender/editors/space_node/node_draw.cc8
1 files changed, 7 insertions, 1 deletions
diff --git a/source/blender/editors/space_node/node_draw.cc b/source/blender/editors/space_node/node_draw.cc
index b2c16280c58..bf3a9ba0c52 100644
--- a/source/blender/editors/space_node/node_draw.cc
+++ b/source/blender/editors/space_node/node_draw.cc
@@ -1842,7 +1842,13 @@ static void node_draw_basis(const bContext *C,
UI_draw_roundbox_4fv(&rect, false, BASIS_RAD, color_outline);
}
- node_draw_sockets(v2d, C, ntree, node, true, false);
+ float scale;
+ UI_view2d_scale_get(v2d, &scale, nullptr);
+
+ /* Skip slow socket drawing if zoom is small. */
+ if (scale > 0.2f) {
+ node_draw_sockets(v2d, C, ntree, node, true, false);
+ }
/* Preview. */
bNodeInstanceHash *previews = (bNodeInstanceHash *)CTX_data_pointer_get(C, "node_previews").data;