Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Slow rendering for large screens #19

Open
mmnaseri opened this issue Oct 22, 2021 · 2 comments
Open

Slow rendering for large screens #19

mmnaseri opened this issue Oct 22, 2021 · 2 comments

Comments

@mmnaseri
Copy link

I am observing slow rendering of overlay windows in fractional scale beyond a certain point in my screen:

.------------------.------------------.
|        A         |        B         |
`------------------`------------------`

Anything in the A region renders quite snappily. Anything past this takes some time to render. Case in point, all the header menus in gnome applications and any overlay created by Firefox extensions (e.g. Bitwarden window). All interactions also are delayed. The delay gets worse as screen size increases or ratio gets closer to 100%. Performance is better the closer to 200% you get.

Another potentially related point is that windows now exhibit tearing when moving around. I have confirmed that both these issues are fixed if I remove mutter-x11-scaling.

@puxplaying
Copy link
Owner

Hi, thanks for the report!

As I see and understand it, this bug is somewhat expected on Xorg, because of the way how this experimental feature works. Xorg can not render different scaling factors on different monitors, and neither can it do fractional scaling.

It is basically a hack which renders the desktop at a higher resolution than your screen. So, after X has finished drawing the frame at a higher resolution, it is software scaled back (xrandr).
This means you are burning a lot of CPU, and also it is very hard to avoid slowdowns and tearing, since the xrandr layer happens after the vsync logic.

As far as I understand, only Wayland can do fractional scaling as efficiently as integer scaling.

I will also mention the developer @3v1n0 here, in case this bug has not been reported on Ubuntu.

@mmnaseri
Copy link
Author

Thanks for looking into this. I think as far as my usage is concerned then this makes it unstable. I have a rather large screen and not being able to use ~33% of it is a no go. I will have to downres the screen for now. Keep up the good work!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants