Pulse-Width Modulation, or PWM, is the most common way to adjust the brightness of an OLED display. PWM is the easiest way to achieve high quality brightness control, but it has some serious drawbacks - such as flicker that may cause eye strain and headaches. Some people suffer greatly from PWM-controlled displays.

Xiaomi Mi 9 photo

Device makers are seemingly starting to acknowledge this. Xiaomi has added DC-Dimming as an alternative to PWN in its Mi 9 smartphone (6.39" 1080x2340 AMOLED display) and its Black Shark 2 gaming phone (which uses the same display). OnePlus confirmed that it is also looking at adding a DC-Dimming option in a future OS update.

What is PWM

PWM is easiest to understand in displays that use backlight, like LCDs. In LCDs that use PWM, the backlight is always on at its fullest brightness. If you want to achieve a lower brightness, you turn the display on and off in a very high frequency. This frequency is not perceived by the human eye, which usually sees anything that flickers faster than about 60Hz (60 times per seconds) as consistent. Some people, however, are much more sensitive to flicker.

Display PWM duty cycles

So if you want to achieve 50% brightness, you run your backlight in a 50% duty cycle (half of the time it is on, and half of the time it is off). This will be perceived as half as bright compared to a 100% duty cycle. PWM is easy to implement and it also can be highly efficient.

Read more about PWM here.


DC-Dimming is theoretical simple - you simple lower the current which lowers the brightness emitted by the OLED materials. The problem is that the color emitted by the OLED materials shifts when you lower the current. This makes it difficult to implement DC-Dimming correctly.

Both Xiaomi and OnePlus acknowledge this - and they admit that using DC-Dimming will result in a lower image quality compared to the regular PWM option. Thus the DC-Dimming is only an option recommended to people that suffer from PWM - and OnePlus will likely implement it only within OnePlus Laboratory or within the Developer Options.