[Bf-blender-cvs] [b2d37c35d06] master: Node Editor: Skip socket drawing on low zoom
Erik
noreply at git.blender.org
Thu Nov 18 21:21:43 CET 2021
Commit: b2d37c35d068ee9a58f9d92936b286178feaf0fc
Author: Erik
Date: Thu Nov 18 21:21:10 2021 +0100
Branches: master
https://developer.blender.org/rBb2d37c35d068ee9a58f9d92936b286178feaf0fc
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
===================================================================
M source/blender/editors/space_node/node_draw.cc
===================================================================
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;
More information about the Bf-blender-cvs
mailing list