[Bf-blender-cvs] [cd27bed] temp-modifier-deltamush-experimental: Minor optimization

Campbell Barton noreply at git.blender.org
Sat Mar 28 22:38:33 CET 2015


Commit: cd27bedf22b967beb2e739654adcd81ad5456d1d
Author: Campbell Barton
Date:   Sun Mar 29 08:36:37 2015 +1100
Branches: temp-modifier-deltamush-experimental
https://developer.blender.org/rBcd27bedf22b967beb2e739654adcd81ad5456d1d

Minor optimization

re-ordering assignments here gives approx ~8% speedup.

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

M	source/blender/modifiers/intern/MOD_deltamush.c

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

diff --git a/source/blender/modifiers/intern/MOD_deltamush.c b/source/blender/modifiers/intern/MOD_deltamush.c
index f51adae..9342434 100644
--- a/source/blender/modifiers/intern/MOD_deltamush.c
+++ b/source/blender/modifiers/intern/MOD_deltamush.c
@@ -194,22 +194,24 @@ static void smooth_iter(
 	unsigned int i;
 
 	for (i = 0; i < numEdges; i++) {
-		SmoothingData *sd;
+		SmoothingData *sd_v1;
+		SmoothingData *sd_v2;
 		float edge_dir[3];
 		float edge_dist;
 
 		sub_v3_v3v3(edge_dir, vertexCos[edges[i].v2], vertexCos[edges[i].v1]);
 		edge_dist = len_v3(edge_dir);
-
 		mul_v3_fl(edge_dir, edge_dist);
 
-		sd = &smooth_data[edges[i].v1];
-		add_v3_v3(sd->delta, edge_dir);
-		sd->edge_lengths += edge_dist;
 
-		sd = &smooth_data[edges[i].v2];
-		sub_v3_v3(sd->delta, edge_dir);
-		sd->edge_lengths += edge_dist;
+		sd_v1 = &smooth_data[edges[i].v1];
+		sd_v2 = &smooth_data[edges[i].v2];
+
+		add_v3_v3(sd_v1->delta, edge_dir);
+		sub_v3_v3(sd_v2->delta, edge_dir);
+
+		sd_v1->edge_lengths += edge_dist;
+		sd_v2->edge_lengths += edge_dist;
 	}
 
 	if ((dmmd->smooth_weights == NULL) && (boundaries == NULL)) {




More information about the Bf-blender-cvs mailing list