[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [26219] trunk/blender/source/blender: View3d transform was sending a too-general notifier to redraw, causing several animation editors and the property editor to redraw too, which can really slow things down.

Joseph Eagar joeedh at gmail.com
Sun Jan 24 05:26:04 CET 2010


Revision: 26219
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=26219
Author:   joeedh
Date:     2010-01-24 05:26:01 +0100 (Sun, 24 Jan 2010)

Log Message:
-----------
View3d transform was sending a too-general notifier to redraw, causing several animation editors and the property editor to redraw too, which can really slow things down.  added a more specific ND_VIEW3D_TRANSFORM notifier to solve this.

Modified Paths:
--------------
    trunk/blender/source/blender/editors/space_action/space_action.c
    trunk/blender/source/blender/editors/space_buttons/space_buttons.c
    trunk/blender/source/blender/editors/space_graph/space_graph.c
    trunk/blender/source/blender/editors/space_nla/space_nla.c
    trunk/blender/source/blender/editors/space_outliner/space_outliner.c
    trunk/blender/source/blender/editors/space_view3d/space_view3d.c
    trunk/blender/source/blender/editors/transform/transform.c
    trunk/blender/source/blender/windowmanager/WM_types.h

Modified: trunk/blender/source/blender/editors/space_action/space_action.c
===================================================================
--- trunk/blender/source/blender/editors/space_action/space_action.c	2010-01-24 02:59:09 UTC (rev 26218)
+++ trunk/blender/source/blender/editors/space_action/space_action.c	2010-01-24 04:26:01 UTC (rev 26219)
@@ -386,7 +386,8 @@
 					saction->flag |= SACTION_TEMP_NEEDCHANSYNC;
 					ED_area_tag_refresh(sa);
 					break;
-					
+				case ND_VIEW3D_TRANSFORM:
+					break; /*do nothing*/					
 				default: /* just redrawing the view will do */
 					ED_area_tag_redraw(sa);
 					break;

Modified: trunk/blender/source/blender/editors/space_buttons/space_buttons.c
===================================================================
--- trunk/blender/source/blender/editors/space_buttons/space_buttons.c	2010-01-24 02:59:09 UTC (rev 26218)
+++ trunk/blender/source/blender/editors/space_buttons/space_buttons.c	2010-01-24 04:26:01 UTC (rev 26219)
@@ -303,6 +303,8 @@
 					/* currently works by redraws... if preview is set, it (re)starts job */
 					sbuts->preview= 1;
 					break;
+				case ND_VIEW3D_TRANSFORM:
+					break; /*do nothing*/
 				default:
 					/* Not all object RNA props have a ND_ notifier (yet) */
 					ED_area_tag_redraw(sa);

Modified: trunk/blender/source/blender/editors/space_graph/space_graph.c
===================================================================
--- trunk/blender/source/blender/editors/space_graph/space_graph.c	2010-01-24 02:59:09 UTC (rev 26218)
+++ trunk/blender/source/blender/editors/space_graph/space_graph.c	2010-01-24 04:26:01 UTC (rev 26219)
@@ -462,6 +462,8 @@
 					sipo->flag |= SIPO_TEMP_NEEDCHANSYNC;
 					ED_area_tag_refresh(sa);
 					break;
+				case ND_VIEW3D_TRANSFORM:
+					break; /*do nothing*/					
 					
 				default: /* just redrawing the view will do */
 					ED_area_tag_redraw(sa);

Modified: trunk/blender/source/blender/editors/space_nla/space_nla.c
===================================================================
--- trunk/blender/source/blender/editors/space_nla/space_nla.c	2010-01-24 02:59:09 UTC (rev 26218)
+++ trunk/blender/source/blender/editors/space_nla/space_nla.c	2010-01-24 04:26:01 UTC (rev 26219)
@@ -491,7 +491,8 @@
 					ED_area_tag_refresh(sa);
 					break;
 			}*/
-			ED_area_tag_refresh(sa);
+			if (wmn->data != ND_VIEW3D_TRANSFORM)
+				ED_area_tag_refresh(sa);
 			break;
 		case NC_SPACE:
 			if(wmn->data == ND_SPACE_NLA)

Modified: trunk/blender/source/blender/editors/space_outliner/space_outliner.c
===================================================================
--- trunk/blender/source/blender/editors/space_outliner/space_outliner.c	2010-01-24 02:59:09 UTC (rev 26218)
+++ trunk/blender/source/blender/editors/space_outliner/space_outliner.c	2010-01-24 04:26:01 UTC (rev 26219)
@@ -131,6 +131,7 @@
 				case ND_BONE_ACTIVE:
 				case ND_BONE_SELECT:
 				case ND_TRANSFORM:
+				case ND_VIEW3D_TRANSFORM:
 					ED_region_tag_redraw(ar);
 					break;
 				case ND_MODIFIER:

Modified: trunk/blender/source/blender/editors/space_view3d/space_view3d.c
===================================================================
--- trunk/blender/source/blender/editors/space_view3d/space_view3d.c	2010-01-24 02:59:09 UTC (rev 26218)
+++ trunk/blender/source/blender/editors/space_view3d/space_view3d.c	2010-01-24 04:26:01 UTC (rev 26219)
@@ -454,6 +454,7 @@
 			switch(wmn->data) {
 				case ND_FRAME:
 				case ND_TRANSFORM:
+				case ND_VIEW3D_TRANSFORM:
 				case ND_OB_ACTIVE:
 				case ND_OB_SELECT:
 				case ND_LAYER:
@@ -470,6 +471,7 @@
 				case ND_BONE_ACTIVE:
 				case ND_BONE_SELECT:
 				case ND_TRANSFORM:
+				case ND_VIEW3D_TRANSFORM:
 				case ND_POSE:
 				case ND_DRAW:
 				case ND_MODIFIER:
@@ -636,6 +638,7 @@
 				case ND_BONE_ACTIVE:
 				case ND_BONE_SELECT:
 				case ND_TRANSFORM:
+				case ND_VIEW3D_TRANSFORM:
 				case ND_POSE:
 				case ND_DRAW:
 				case ND_KEYS:

Modified: trunk/blender/source/blender/editors/transform/transform.c
===================================================================
--- trunk/blender/source/blender/editors/transform/transform.c	2010-01-24 02:59:09 UTC (rev 26218)
+++ trunk/blender/source/blender/editors/transform/transform.c	2010-01-24 04:26:01 UTC (rev 26219)
@@ -302,7 +302,7 @@
 	if (t->spacetype == SPACE_VIEW3D)
 	{
 		/* Do we need more refined tags? */
-		WM_event_add_notifier(C, NC_OBJECT|ND_TRANSFORM, NULL);
+		WM_event_add_notifier(C, NC_OBJECT|ND_VIEW3D_TRANSFORM, NULL);
 		
 		/* for realtime animation record - send notifiers recognised by animation editors */
 		if ((t->animtimer) && IS_AUTOKEY_ON(t->scene))

Modified: trunk/blender/source/blender/windowmanager/WM_types.h
===================================================================
--- trunk/blender/source/blender/windowmanager/WM_types.h	2010-01-24 02:59:09 UTC (rev 26218)
+++ trunk/blender/source/blender/windowmanager/WM_types.h	2010-01-24 04:26:01 UTC (rev 26219)
@@ -188,6 +188,7 @@
 #define ND_CONSTRAINT		(24<<16) /* constraints edited */
 #define ND_PARTICLE_DATA	(25<<16) /* particles edited */
 #define ND_PARTICLE_SELECT	(26<<16) /* particles selecting change */
+#define ND_VIEW3D_TRANSFORM	(27<<16)
 
 	/* NC_MATERIAL Material */
 #define	ND_SHADING			(30<<16)





More information about the Bf-blender-cvs mailing list