I've been doing some 3d graphics research on the side. I've discovered a way we can greatly reduce the cost of 3d animation in the engine by doing animation vertex transforms on the graphics card (send array of matrices to gfx card for bones, vert data includes bound matrix, this we we don't have to repeatedly generate and send the character mesh to the graphics card but can instead animate it by simply changing the bone matrices).