| Summary: | When using the shake cursor effect, the new SVG cursor can still get pixelated at over 10x its original size | ||
|---|---|---|---|
| Product: | [Plasma] kwin | Reporter: | Répási Dávid <hu.repasidavid> |
| Component: | effects-various | Assignee: | KWin default assignee <kwin-bugs-null> |
| Status: | CONFIRMED --- | ||
| Severity: | minor | CC: | ad.liu.jin, nate, uhhadd |
| Priority: | NOR | ||
| Version First Reported In: | 6.2.0 | ||
| Target Milestone: | --- | ||
| Platform: | Arch Linux | ||
| OS: | Linux | ||
| Latest Commit: | Version Fixed/Implemented In: | ||
| Sentry Crash Report: | |||
| Attachments: | example-of-the-pixelation | ||
IIUC, this effect pre-renders the SVG to about 10x your current cursor size. So if you shake it beyond that size, it can become pixelated, and it's by design. While the SVG can be rendered to any size in theory, the memory consumption and time to render is also a factor to consider. Anyway, leaving this open as perhaps Vlad would consider increasing the render size. When in the shake cursor effect, the cursor is locked to the "default" icon, so only that one would need to be prerendered to a bigger size, if that is still memory heavy, a hard cap could be introduced to the effect so no pixelation would be seen by the user. Also, just for reference, how much memory are we talking about? (In reply to Répási Dávid from comment #2) > When in the shake cursor effect, the cursor is locked to the "default" icon, > so only that one would need to be prerendered to a bigger size, if that is > still memory heavy, a hard cap could be introduced to the effect so no > pixelation would be seen by the user. No cap is intentional. And we're talking about an edge case, which imho is very minor. You'd need to put some real dedication to shaking the cursor in order to start observing the pixelation. > Also, just for reference, how much memory are we talking about? Atm kwin renders the cursor at approximately 250x250-300x300 size. Progressive cursor rendering can be implemented, but as of now, in comparison to the additional code, I see no strong benefits in doing it. > Have the advertised crisp look at any size It's not advertised to look crisp in **every** scenario. |
Created attachment 174619 [details] example-of-the-pixelation This may actually be a kwin bug, can't really tell either way. STEPS TO REPRODUCE 1. Enable shake cursor 2. Use the breeze cursor supporting svg theming (I did a dirty port of another theme, the problem still stands) 3. go ham with it OBSERVED RESULT At a certain size the cursor will look pixelated EXPECTED RESULT Have the advertised crisp look at any size SOFTWARE/OS VERSIONS Linux: EndeavourOS KDE Plasma Version: 6.2.0 KDE Frameworks Version: 6.6.0 Qt Version: 6.7.3 Kernel Version: 6.11.2-arch1-1