4 ms·
Gtk does not do fractional scaling at all. It just does integer scaling then relies on the compositor to zoom in/out the window as necessary. This results in bl
by AshamedCaptain 5y ago
Gtk does not do fractional scaling at all. It just does integer scaling then relies on the compositor to zoom in/out the window as necessary. This results in blurriness and poor performance.
Qt can do true arbitrary fractional scaling, which has other problems.
- nextaccountic 5y ago> Gtk does not do fractional scaling at all. It just does integer scaling then relies on the compositor to zoom in/out the window as necessary. This results in blurriness and poor performance. Are you sure? Maybe you mean on X11? I'm running Gnome on Wayland and with this setting: > gsettings set org.gnome.mutter experimental-features "['scale-monitor-framebuffer']" I get not blurriness at all. I'm actually kind of paranoid about this issue so can you maybe point me to some online docs describing this issue?
- AshamedCaptain 5y agoThis is a toolkit problem, it has nothing to do with wayland or x11. See https://developer.gnome.org/gdk3/stable/gdk3-Windows.html#gdk-window-get-scale-factor https://developer.gnome.org/gdk3/stable/gdk3-Windows.html#gd... , gtk just supports integers as an scaling factor. The mutter setting you are mentioning just enables framebuffer scaling (ie bitmap, http://blog.3v1n0.net/informatica/linux/gnome-fractional-and-multi-monitor-scaling-hackfest-the-report/ http://blog.3v1n0.net/informatica/linux/gnome-fractional-and... ). It will first ask gtk to render at the next integer scale then zoom out the resulting bitmap as necessary. This definitely results in blurriness that I do not see on windows (but you can see on macOS). Compare Qt which does support true fractional scaling albeit as I was saying this leads to another significant problem https://doc.qt.io/qt-5/qt.html#HighDpiScaleFactorRoundingPolicy-enum https://doc.qt.io/qt-5/qt.html#HighDpiScaleFactorRoundingPol... , but it does often result in a level of sharpness that cannot be matched, and it is trivial to see when you compare gtk with qt programs.