Originally Posted by TechniSol
I would guess a buffering cap couldn't hurt.
Ah, a cap immediately at PWM pin before the resistor? I see what you mean and maybe, but (not saying you're wrong) let me explain how this is still not easy:
If PWM is to do its power-saving job properly, in its "on" state it should have near-zero resistance. So, each pulse would immediately charge the capacitor to full voltage.
Now, if the capacitor is able to sustain the LEDs until the next pulse, the pulse WIDTH is no longer modulating anything - the LEDs are lit, from a periodically discharging capacitor, with nearly the same current pattern, regardless of pulse width.
Alternatively if the cap is only sustaining LEDs for a short fraction of the pulse period, it's hardly filtering anything. The LEDs go dark a little bit later and smoother (not a sudden switch-off), but this doesn't change the fact they're still switching between full bright and full dark at the same frequency as before.
So not only there is no smoothing in peak-to-peak sense, but there are new disadvantages: brightness control got harder because even an infinitely short pulse, as long as it charges the capacitor fully, produces some non-zero brightness, purely from capacitor's discharge.
Second problem is that the capacitor tries to charge very fast which produces very high currents from PWM pin. Very high currents multiplied by hopefully-very-small resistance of PWM pin -- that becomes a sizeable power waste which was not there before.
Disclaimer: while my education is in electronics engineering, I'm actually a software engineer so my modelling above can be detached from reality.
Hopefully my explanation makes some sense >_<