Ubuntu 20.04 - how to fix sluggish 4K monitor
HDMI cable
Cable matters. By changing the HDMI cable, the refresh rate changed from 30 to 60.
Refresh rate
Check the refresh rate. There are many reports the refresh rate stuck to 30 hz.
$ xrandr
Screen 0: minimum 1 x 1, current 3840 x 2160, maximum 16384 x 16384
Virtual1 connected primary 3840x2160+0+0 (normal left inverted right x axis y axis) 0mm x 0mm
3840x2160 60.00*+ <--- Make sure 60 hZ is there
2560x1600 59.99
1920x1440 60.00
1856x1392 60.00
1792x1344 60.00
1920x1200 59.88
1600x1200 60.00
1680x1050 59.95
1400x1050 59.98
1280x1024 60.02
1440x900 59.89
1280x960 60.00
1360x768 60.02
1280x800 59.81
1152x864 75.00
1280x768 59.87
1024x768 60.00
800x600 60.32
640x480 59.94
Fractional scaling
Avoid fractional scaling.
- Big performance degradation in X11 + 4K resolution + fractional scaling in second monitor compared to Wayland
This is expected. Fractional scaling in Xorg sessions works by rendering at a higher resolution than your screen(s). So that increases the likelihood of stuttering compared to integer scaling.
That specific issue will never be fixed because it's a required trade-off to get fractional scaling working in Xorg. HOWEVER, general performance will increase a lot in future versions like Ubuntu 20.10 so that hopefully will be enough to offset and eliminate all the problems you see.
Font size
With high resolution 3840x2160, the default font can be too small. See How do I increase the font size in Ubuntu 18.04 LTS for a HDPI / 4K display?. I used Gnome Tweak scaling factor.
Apparently it also enable Setting > Universal access > Large text.