Why is the pulse width so large? LEDs can toggle millions of times per second, not merely hundreds.
It is possible, by the way, to dim an LED without PWM the old-fashioned way: by varying the voltage of the power supplied to it (“DC dimming”). You can see this in devices that have an indicator LED that stays on for a few moments after power is disconnected, then fade out. What’s happening there is a capacitor in the device is (briefly) powering the LED. As its charge depletes, the voltage drops, and the LED dims. However, controlling LED brightness this way is a great deal less accurate than PWM, creating color distortion at low brightness. See related Android Police article.
I wonder if the problem with DC dimming could be solved by adjusting the voltage supplied to each LED based on measurements made in the factory of its brightness at different voltages?