That is not completly true, at least on d3d you have a multi stage compilation, that is first microsoft compiler generates bytecode that then is passed to the driver (that parts is what is done in dolphin and the bytecode is then inserted in the shader cache). After that the driver in a secondary thread can use one or more iterations to re compile the shader in a more optimized shader for the current platform. So is normal to see increased cpu usage and gpu memory usage while you add new shaders. About the increased amount of shaders when using per pixel ligthing, is the natural result as per pixel lighthing translates ligthing calculation from vertex shaders to pixel shaders, so intead of habing X amount of shaders now you have X by the amout of ligthing convinations used by the game. When I originally introduced PPL is was meant as Eyecandy to enjoy wii/gc games with ligthing better than the original hard but it came with te warning that it was really gpu intensive, year has passed and that is still true, if you want full performance disable ppl, if you whant the best quality just enable it and enjoy

