Rendering issue with DPI-scaled 4K screen in Windows 10
Posted: Tue Nov 24, 2015 11:25 am
We have currently upgrading from CEF 3.1750 to CEF 3.2526. The main reason is so that the CEF browser scales up when the Windows DPI-scaling factor is increased. Ideally, we want the browser to be per-monitor DPI aware on Windows 8/10 machines.
The broswer scales up nicely at 200% DPI-scaling on Windows 10 on two 1920x1080 monitors with no problems.
However, when a 4K monitor (set at 150% DPI-scaling) is paired with a 1920x1080 monitor (set at 100%), there is a rendering glitch (see image) where it seems to flicker between a scaled up version and a non-scaled up version and sometime show both at the same time.
Some more factors:
The broswer scales up nicely at 200% DPI-scaling on Windows 10 on two 1920x1080 monitors with no problems.
However, when a 4K monitor (set at 150% DPI-scaling) is paired with a 1920x1080 monitor (set at 100%), there is a rendering glitch (see image) where it seems to flicker between a scaled up version and a non-scaled up version and sometime show both at the same time.
Some more factors:
- Forcing CEF to run in a single process (CefSettings.single_process) seems to fix the issue. However, we'd rather not do this if possible.
- Right clicking on the .exe and checking "Disable display scaling on high DPI settings" stops the flickering but the browser then does not react when moving from one screen to another (i.e. it is not per-monitor DPI aware). The CefClient app and other CEF applications (like Spotify) do not have this setting ticked and still seem to render correctly.
- Disabling display scaling on the "helper" .exe seems to stop the flickering on the 4K monitor, but moving the app to the other monitor causes the flickering to re-appear.