Tangent based normal mapping in the 3d viewport, why is it so slow?

Hi, this is more to satisfy my curiosity more than anything, but it seems as though tangent based normal mapped textures in blender 3d views display and update VERY slowly, And yet when the same textures are seen in the game engine, with the same normal maps, they don’t seem to effect the draw speed very much at all…

and since BGE and a 3d viewport (GLSL) are basically drawing the same thing. what Is the reason for this massive hit to the playback speed.!!!

A model using a high resolution B&W bumpmap plays back at a decent speed with ALT + A , yet a tangent mapped normal texture makes things grind to a halt.

on a related topic, is there any way to convert a 3(or 4?) channel normal map (the mostly blue textures, u know the ones i mean.) into a regular B&W bumpmap, but ensuring none of the larger details are lost, (such as clothing folds and creases, ect) as every time I try to “fake it” , I seem to loose most of the large details, but retain most of the smaller details.