From: Carsten W. <ca...@us...> - 2005-06-08 21:27:18
|
Update of /cvsroot/jake2/jake2/src/jake2/render/lwjgl In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv15958/src/jake2/render/lwjgl Modified Files: Surf.java Mesh.java Log Message: JVM executes this code faster, than the "i++" one. Index: Mesh.java =================================================================== RCS file: /cvsroot/jake2/jake2/src/jake2/render/lwjgl/Mesh.java,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -d -r1.7 -r1.8 *** Mesh.java 7 May 2005 23:44:37 -0000 1.7 --- Mesh.java 8 Jun 2005 21:27:10 -0000 1.8 *************** *** 87,91 **** { float[] normal; ! int j = -1; for (int i=0 ; i < nverts; i++/* , v++, ov++, lerp+=4 */) { --- 87,91 ---- { float[] normal; ! int j = 0; for (int i=0 ; i < nverts; i++/* , v++, ov++, lerp+=4 */) { *************** *** 93,104 **** normal = r_avertexnormals[(vv >>> 24 ) & 0xFF]; ovv = ov[i]; ! lerp.put(++j, move[0] + (ovv & 0xFF)* backv[0] + (vv & 0xFF) * frontv[0] + normal[0] * Defines.POWERSUIT_SCALE); ! lerp.put(++j, move[1] + ((ovv >>> 8) & 0xFF) * backv[1] + ((vv >>> 8) & 0xFF) * frontv[1] + normal[1] * Defines.POWERSUIT_SCALE); ! lerp.put(++j, move[2] + ((ovv >>> 16) & 0xFF) * backv[2] + ((vv >>> 16) & 0xFF) * frontv[2] + normal[2] * Defines.POWERSUIT_SCALE); } } else { ! int j = -1; for (int i=0 ; i < nverts; i++ /* , v++, ov++, lerp+=4 */) { --- 93,105 ---- normal = r_avertexnormals[(vv >>> 24 ) & 0xFF]; ovv = ov[i]; ! lerp.put(j, move[0] + (ovv & 0xFF)* backv[0] + (vv & 0xFF) * frontv[0] + normal[0] * Defines.POWERSUIT_SCALE); ! lerp.put(j + 1, move[1] + ((ovv >>> 8) & 0xFF) * backv[1] + ((vv >>> 8) & 0xFF) * frontv[1] + normal[1] * Defines.POWERSUIT_SCALE); ! lerp.put(j + 2, move[2] + ((ovv >>> 16) & 0xFF) * backv[2] + ((vv >>> 16) & 0xFF) * frontv[2] + normal[2] * Defines.POWERSUIT_SCALE); ! j += 3; } } else { ! int j = 0; for (int i=0 ; i < nverts; i++ /* , v++, ov++, lerp+=4 */) { *************** *** 106,112 **** vv = v[i]; ! lerp.put(++j, move[0] + (ovv & 0xFF)* backv[0] + (vv & 0xFF)*frontv[0]); ! lerp.put(++j, move[1] + ((ovv >>> 8) & 0xFF)* backv[1] + ((vv >>> 8) & 0xFF)*frontv[1]); ! lerp.put(++j, move[2] + ((ovv >>> 16) & 0xFF)* backv[2] + ((vv >>> 16) & 0xFF)*frontv[2]); } } --- 107,114 ---- vv = v[i]; ! lerp.put(j, move[0] + (ovv & 0xFF)* backv[0] + (vv & 0xFF)*frontv[0]); ! lerp.put(j + 1, move[1] + ((ovv >>> 8) & 0xFF)* backv[1] + ((vv >>> 8) & 0xFF)*frontv[1]); ! lerp.put(j + 2, move[2] + ((ovv >>> 16) & 0xFF)* backv[2] + ((vv >>> 16) & 0xFF)*frontv[2]); ! j += 3; } } *************** *** 192,205 **** // FloatBuffer color = colorArrayBuf; - int j = -1; float l; int size = paliashdr.num_xyz; for (int i = 0; i < size; i++ ) { l = shadedots[(verts[i] >>> 24) & 0xFF]; ! color.put(++j, l * shadelight[0]); ! color.put(++j, l * shadelight[1]); ! color.put(++j, l * shadelight[2]); ! color.put(++j, alpha); } } --- 194,208 ---- // FloatBuffer color = colorArrayBuf; float l; int size = paliashdr.num_xyz; + int j = 0; for (int i = 0; i < size; i++ ) { l = shadedots[(verts[i] >>> 24) & 0xFF]; ! color.put(j, l * shadelight[0]); ! color.put(j + 1, l * shadelight[1]); ! color.put(j + 2, l * shadelight[2]); ! color.put(j + 3, alpha); ! j += 4; } } Index: Surf.java =================================================================== RCS file: /cvsroot/jake2/jake2/src/jake2/render/lwjgl/Surf.java,v retrieving revision 1.8 retrieving revision 1.9 diff -C2 -d -r1.8 -r1.9 *** Surf.java 1 Feb 2005 16:55:28 -0000 1.8 --- Surf.java 8 Jun 2005 21:27:10 -0000 1.9 *************** *** 941,950 **** vis = Mod_ClusterPVS(r_viewcluster2, r_worldmodel); c = (r_worldmodel.numleafs + 31) >> 5; ! int k = -1; ! for (i=0 ; i<c ; i++) { ! fatvis[++k] |= vis[k]; ! fatvis[++k] |= vis[k]; ! fatvis[++k] |= vis[k]; ! fatvis[++k] |= vis[k]; } --- 941,950 ---- vis = Mod_ClusterPVS(r_viewcluster2, r_worldmodel); c = (r_worldmodel.numleafs + 31) >> 5; ! c <<= 2; ! for (int k=0 ; k<c ; k+=4) { ! fatvis[k] |= vis[k]; ! fatvis[k + 1] |= vis[k + 1]; ! fatvis[k + 2] |= vis[k + 2]; ! fatvis[k + 3] |= vis[k + 3]; } |