Not when you've run out of resolution!The right way to do this is to "animate" the changing of the brightness with a succession of "small" steps from one "big" step to the next.
On a 12-bit PWM the brightness varies from 0 to 41 over the lowest third of the dimming range, that would represent 5 seconds on a 15 second fade: that would 120ms per step if that section were linear - that's why it is quite noticeable. With an exponential change, the steps become even more noticeable at the lowest levels.



