just try this ( as i did): take a relatively hi poly mesh, let's say 20-40k, turn subsurf on and rotate the view - works fine.
now make an armature and parent the mesh to it: what happens? redraw speed goes down to some c64 level. and there is no ik applied at all!
so from my point of view it's the deformation code that blender uses to apply bone transform to the vertices of the mesh.
what can be done? (from a non-programmer point of view)
- deformation calculation dont't need to be recalculated repeatedly, but only on transform changes (so that you have at lest reasonable speed when reorienting the view)
- speed up deformation calculation in general, there has to be a way*)
- a function which allows the use of a proxy low-res model for animation would be fine. like a field where i put in the name of the lores mesh and a toggle which switches between lores and hires. of course deformation calculations should be done only on lores model until you hit render, where automatically the hires mesh is used. using layers for that doesn't help right now - see above.
*)to all programmers - i don't know how, i just know what. this doesn't mean i don't respect you. i just saw in other threads that you guys seem quite sensitive to thinks like "i saw that in maya, so make it work in blender". this is the way users think. so please don't flame me.
i actually started learning c++, so in 2 or 3 years i may understand you fully, too

best regards
solmax