From: divverent Date: Sat, 4 Sep 2010 15:39:43 +0000 (+0000) Subject: optimize R_AnimCache_UpdateEntityMeshBuffers to use memcpy instead of VectorCopy... X-Git-Tag: xonotic-v0.1.0preview~230^2~43 X-Git-Url: https://git.rm.cloudns.org/?a=commitdiff_plain;h=8e6b20a776721497beebfbb19ce34d6111082098;p=xonotic%2Fdarkplaces.git 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 --- diff --git a/gl_rmain.c b/gl_rmain.c index 568aecde..b29beb5f 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++) - VectorCopy(ent->animcache_vertex3f + 3*i, ent->animcache_vertexposition[i].vertex3f); + memcpy(ent->animcache_vertexposition[i].vertex3f, ent->animcache_vertex3f + 3*i, sizeof(float[3])); */ // 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++) - VectorCopy(ent->animcache_vertex3f + 3*i, ent->animcache_vertexmesh[i].vertex3f); + memcpy(ent->animcache_vertexmesh[i].vertex3f, ent->animcache_vertex3f + 3*i, sizeof(float[3])); if (ent->animcache_svector3f) for (i = 0;i < numvertices;i++) - VectorCopy(ent->animcache_svector3f + 3*i, ent->animcache_vertexmesh[i].svector3f); + memcpy(ent->animcache_vertexmesh[i].svector3f, ent->animcache_svector3f + 3*i, sizeof(float[3])); if (ent->animcache_tvector3f) for (i = 0;i < numvertices;i++) - VectorCopy(ent->animcache_tvector3f + 3*i, ent->animcache_vertexmesh[i].tvector3f); + memcpy(ent->animcache_vertexmesh[i].tvector3f, ent->animcache_tvector3f + 3*i, sizeof(float[3])); if (ent->animcache_normal3f) for (i = 0;i < numvertices;i++) - VectorCopy(ent->animcache_normal3f + 3*i, ent->animcache_vertexmesh[i].normal3f); + memcpy(ent->animcache_vertexmesh[i].normal3f, ent->animcache_normal3f + 3*i, sizeof(float[3])); // TODO: upload vertex buffer? } }