[Bf-committers] Re: Slow Render Bug in 2.25

Robert Wenzlaff bf-committers@blender.org
Wed, 1 Jan 2003 11:40:46 -0500


--------------Boundary-00=_YNN1SLTRIYAG00KGM8T2
Content-Type: text/plain;
  charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

Here's the patchfiles for=20

blender/source/blender/render/intern/source/rendercore.c
and
blender/source/blender/render/intern/source/zbuf.c

to fix the slow render problem.  I'm gonna have to get around to asking f=
or=20
CVS write access on of these days....

--=20
*********************************************
    Do you quality for an abuse program=20
  if you find yourself placing 2 or more=20
   personal Digikey orders in one day?=20
*********************************************
Robert Wenzlaff   rwenzlaff@soylent-green.com

--------------Boundary-00=_YNN1SLTRIYAG00KGM8T2
Content-Type: text/x-diff;
  charset="iso-8859-1";
  name="zbuf.patch"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment; filename="zbuf.patch"

--- zbuf.c	Wed Jan  1 11:27:04 2003
+++ zbufmod.c	Wed Jan  1 11:24:28 2003
@@ -25,7 +25,7 @@
  *
  * The Original Code is: all of this file.
  *
- * Contributor(s): none yet.
+ * Contributor(s): Hos, RPW.
  *
  * ***** END GPL/BL DUAL LICENSE BLOCK *****
  */
@@ -2121,7 +2121,7 @@
 					}
 				}
 			}
-			if(RE_local_test_break()) break;
+			if(!(v%256)&&RE_local_test_break()) break; /*RPW, HOS */
 		}
 		
 		if((R.r.mode & R_OSA)==0) break;

--------------Boundary-00=_YNN1SLTRIYAG00KGM8T2
Content-Type: text/x-diff;
  charset="iso-8859-1";
  name="rendercore.patch"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment; filename="rendercore.patch"

--- rendercore.c	Wed Jan  1 11:27:02 2003
+++ rendercoremod.c	Wed Jan  1 11:24:45 2003
@@ -25,7 +25,7 @@
  *
  * The Original Code is: all of this file.
  *
- * Contributor(s): none yet.
+ * Contributor(s): Hos, Robert Wenzlaff.
  *
  * ***** END GPL/BL DUAL LICENSE BLOCK *****
  */
@@ -1055,8 +1055,10 @@
 		if((a & 255)==0) har= R.bloha[a>>8];
 		else har++;
 
-		if(RE_local_test_break()) break;
-
+		if(!(a%256)&&RE_local_test_break()) break;  /* Hos, RPW - fix slow render bug, */
+													/* !(loopvar%256) keeps checking for */
+													/* ESC too often and bogging down render */
+													/* (Based on discovery by Rob Haarsma) */
 		if(ys>har->maxy);
 		else if(ys<har->miny);
 		else {
@@ -1078,7 +1080,7 @@
 				for(x=minx; x<=maxx; x++) {
 					
 					flarec= har->flarec;	/* har->pixels mag maar 1 x geteld worden */
-					
+
 					if( IS_A_POINTER_CODE(*rd)) {
 						xn= x-har->xs;
 						xsq= xn*xn;
@@ -1162,7 +1164,7 @@
 		if((a & 255)==0) har= R.bloha[a>>8];
 		else har++;
 
-		if(RE_local_test_break()) break;
+		if(!(a%256)&&RE_local_test_break()) break;/*Hos, RPW, fixes Slow Render Bug*/
 
 		if(ys>har->maxy);
 		else if(ys<har->miny);
@@ -1216,7 +1218,7 @@
 		if((a & 255)==0) har= R.bloha[a>>8];
 		else har++;
 
-		if(RE_local_test_break()) break;
+		if(!(a%256)&&RE_local_test_break()) break;/*Hos, RPW, fixes slow render bug */
 
 		if(har->maxy<0);
 		else if(R.recty<har->miny);
@@ -1270,7 +1272,7 @@
 					rectt+= R.rectx;
 					rectz+= R.rectx;
 					
-					if(RE_local_test_break()) break;
+					if(!(y%256)&&RE_local_test_break()) break;/*Hos,RPW, Fixes slow render bug */
 				}
 
 			}
@@ -2489,7 +2491,7 @@
 			/* 1 is voor osa */
 		if(R.r.mode & R_EDGE) edge_enhance();
 		
-		if(RE_local_test_break()) break;
+		if(!(v%256)&&RE_local_test_break()) break; /*Hos,RPW, fixes slow render bug*/
 	}
 	if(R.flag & (R_ZTRA+R_HALO) ) {	 /* om de juiste zbuffer Z voor transp en halo's terug te halen */
 		xd= jit[0][0];
@@ -2621,7 +2623,7 @@
 			}
 			rz+= R.rectx;
 		}
-		if(RE_local_test_break()) break;
+		if(!(y%256)&&RE_local_test_break()) break; /*Hos,RPW, fixes slow render bug */
 	}
 
 	if( (R.r.mode & R_EDGE) && RE_local_test_break()==0) {
@@ -2722,7 +2724,7 @@
 									R.rectot);
 		}
 		
-		if(RE_local_test_break()) break;
+		if(!(y%256)&&RE_local_test_break()) break; /*Hos,RPW, Fixes Slow render bug */
 	}
 
 	if(R.flag & R_ZTRA) endaccumbuf();
@@ -2785,7 +2787,7 @@
 	
 				rectt+= R.rectx;
 				
-				if(RE_local_test_break()) break;
+				if(!(y%256)&&RE_local_test_break()) break; /* Hos,RPW, fixes slow render bug */
 			}
 	
 		}

--------------Boundary-00=_YNN1SLTRIYAG00KGM8T2--