LightlyShaders icon indicating copy to clipboard operation
LightlyShaders copied to clipboard

Needs optimization for stacked maximized windows

Open cachandlerdev opened this issue 3 years ago • 9 comments

Summary

While LightlyShaders is being used, it causes desktop widgets to blur as they slide out if there is a window in the same corner of the desktop. This only occurs if the widget is located in the same region as the application window. In addition, the widgets don't move smoothly if an application is maximized.

Steps to reproduce

  1. Turn on LightlyShaders.
  2. Add a panel, and then add a widget (i.e. System Tray) to it.
  3. Open a window and place it in the same corner as the widget.
  4. Click on the widget to open it.
  5. See a momentary blur/not smooth movement as the widget opens.

Current behaviour (bug)

Desktop widgets do not slide out smoothly/show a momentary blur when LightlyShaders is enabled if an application window is located in the the same corner of the desktop as the region to which the widget belongs. (For example, if the calendar widget is in the top right corner, and an application is placed in that corner, the animation to open the calendar shows a momentary blur.)

Expected behaviour (correct)

The widgets would slide out smoothly and without a blur flicker regardless of whether there is an application window located in the same spot.

Relevant logs and/or media (optional)

https://user-images.githubusercontent.com/70250943/153777825-04968f0b-7164-4e43-a4b1-c6c7294323ec.mp4

Software/Os Versions

Operating System: Manjaro Linux KDE Plasma Version: 5.23.5 KDE Frameworks Version: 5.90.0 Qt Version: 5.15.2 Kernel Version: 5.16.5-1-MANJARO (64-bit) Graphics Platform: X11

Other comment (optional)

While the blur flicker seems to only happen when an application is in the same corner as the widget, the "not smooth movement" problem seems to occur even when a window is maximized. In addition, it seems to get worse as more windows are opened.

cachandlerdev avatar Feb 13 '22 22:02 cachandlerdev

When the window is placed near the edge of the screen it uses way more performance hungry hack to paint shadow in corners (otherwise they appear just black or with weird artifacts). So the most likely cause of the flicker is the dropped down fps of KWin. I don't think we can do anything here for now, but I'll keep the issue open in case I'll find some workaround or there will be another way to restore shadows for this particular case.

a-parhom avatar Feb 14 '22 18:02 a-parhom

I see. That's unfortunate. Since I almost always have windows on the screen's edges or maximized, that's probably why I've been having performance issues with this effect, despite having a fairly powerful system.

Hopefully the KDE developers will find a way to get the Korners bug fixed at some point soon so it's not necessary to take a performance hit in order to have rounded corners. :(

cachandlerdev avatar Feb 14 '22 19:02 cachandlerdev

As far as I know, the solution of Korners bug is almost here thanks to the work of psifidotos. Yet, looks like it will not let to round the bottom corners, so the hack introduced in this plugin still will be needed in such cases.

If you have many maximized windows stacked on each other, the plugin will not identify them as such, that are hidden by each other, because of the algorithm used for that (it skips some pixels at the edge of a window to fix some other glitches connected with repainting of windows). When I'll have some spare time I'll look into it and try to improve the algorithm for this particular case.

a-parhom avatar Feb 14 '22 19:02 a-parhom

Rounded corners are a trend these days and I don't think the kde team is thinking about implementing them. Kde 5, although very similar to windows 10, is very distinctive. I like kde's close-to-default look, and I think the rounded corners solution will be nice by the time it's added.

Nikita-Presnov avatar Feb 21 '22 17:02 Nikita-Presnov

I just have trouble understanding why they decided to go with rounded top corners and sharp bottom corners in the default style. Because you're right, the regular kde appearance looks very good, but the lack of consistency when it comes to corners is puzzling.

cachandlerdev avatar Feb 21 '22 18:02 cachandlerdev

HM. A theme-level implementation would be a good solution.

Nikita-Presnov avatar Feb 21 '22 19:02 Nikita-Presnov

Hi! I have found a workaround so far :) - Window Gaps KWin script

Chrom25 avatar May 21 '22 18:05 Chrom25

Ohh, you're right! Performance is much better when you enable inner and outer gaps when using kwin-bismuth (Window Tiling) as well.

jkcdarunday avatar May 21 '22 22:05 jkcdarunday

This issue is fixed in upcoming version 2.0.

a-parhom avatar Sep 10 '22 17:09 a-parhom

2.0 code is in master branch now.

a-parhom avatar Jan 22 '23 10:01 a-parhom