From: divverent divverent@d7cf8633-e32d-0410-b094-e92efae38249 <> Date: Sat, 4 Sep 2010 15:39:43 +0000 (+0000) Subject: UNMERGE X-Git-Tag: xonotic-v0.1.0preview~204 X-Git-Url: https://git.rm.cloudns.org/?a=commitdiff_plain;h=a2d3ffd41066673d0abb32ee45b04e4dbd5cb081;p=xonotic%2Fdarkplaces.git UNMERGE optimize R_AnimCache_UpdateEntityMeshBuffers to use memcpy instead of VectorCopy, Steel Storm 150fps -> 167fps (now only effective in D3D mode, as this path is usually not used any more in OpenGL) git-svn-id: svn://svn.icculus.org/twilight/trunk/darkplaces@10441 d7cf8633-e32d-0410-b094-e92efae38249 ::stable-branch::unmerge=8e6b20a776721497beebfbb19ce34d6111082098 --- diff --git a/gl_rmain.c b/gl_rmain.c index 67f45bb6..c30a6385 100644 --- a/gl_rmain.c +++ b/gl_rmain.c @@ -7805,7 +7805,7 @@ void R_AnimCache_UpdateEntityMeshBuffers(entity_render_t *ent, int numvertices) { /* for (i = 0;i < numvertices;i++) - memcpy(ent->animcache_vertexposition[i].vertex3f, ent->animcache_vertex3f + 3*i, sizeof(float[3])); + VectorCopy(ent->animcache_vertex3f + 3*i, ent->animcache_vertexposition[i].vertex3f); */ // TODO: upload vertex buffer? } @@ -7813,16 +7813,16 @@ void R_AnimCache_UpdateEntityMeshBuffers(entity_render_t *ent, int numvertices) { memcpy(ent->animcache_vertexmesh, ent->model->surfmesh.vertexmesh, sizeof(r_vertexmesh_t)*numvertices); for (i = 0;i < numvertices;i++) - memcpy(ent->animcache_vertexmesh[i].vertex3f, ent->animcache_vertex3f + 3*i, sizeof(float[3])); + VectorCopy(ent->animcache_vertex3f + 3*i, ent->animcache_vertexmesh[i].vertex3f); if (ent->animcache_svector3f) for (i = 0;i < numvertices;i++) - memcpy(ent->animcache_vertexmesh[i].svector3f, ent->animcache_svector3f + 3*i, sizeof(float[3])); + VectorCopy(ent->animcache_svector3f + 3*i, ent->animcache_vertexmesh[i].svector3f); if (ent->animcache_tvector3f) for (i = 0;i < numvertices;i++) - memcpy(ent->animcache_vertexmesh[i].tvector3f, ent->animcache_tvector3f + 3*i, sizeof(float[3])); + VectorCopy(ent->animcache_tvector3f + 3*i, ent->animcache_vertexmesh[i].tvector3f); if (ent->animcache_normal3f) for (i = 0;i < numvertices;i++) - memcpy(ent->animcache_vertexmesh[i].normal3f, ent->animcache_normal3f + 3*i, sizeof(float[3])); + VectorCopy(ent->animcache_normal3f + 3*i, ent->animcache_vertexmesh[i].normal3f); // TODO: upload vertex buffer? } }