Bug 404966 - Maximized transparent windows lock fps on intel graphics
Summary: Maximized transparent windows lock fps on intel graphics
Status: RESOLVED NOT A BUG
Alias: None
Product: kwin
Classification: Plasma
Component: compositing (show other bugs)
Version: 5.15.2
Platform: Arch Linux Linux
: NOR normal
Target Milestone: ---
Assignee: KWin default assignee
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2019-03-01 23:08 UTC by Sawyer Bergeron
Modified: 2019-03-04 10:47 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed In:
Sentry Crash Report:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Sawyer Bergeron 2019-03-01 23:08:32 UTC
SUMMARY
Using Konsole (or other applications with background transparency enabled, such as with Kvantum) with transparency enabled causes refresh rate for current screen to be locked to 30fps.
This causes significant stuttering when switching between virtual desktops or using any other animation.


STEPS TO REPRODUCE
1. Set konsole background transparency to value above 0
2. Enable "blur background" option in konsole color scheme
3. Enable blur effect in Desktop Effects
4. Open new konsole window
5. Full-screen or maximize konsole window

OBSERVED RESULT
current FPS measured with "Show FPS" Desktop Effect drops from 60 to locked 30

EXPECTED RESULT
FPS should stay at 60 FPS or drop gradually with increasing graphical load


SOFTWARE/OS VERSIONS
Linux/KDE Plasma: linux 4.20.13
(available in About System)
KDE Plasma Version: 5.12.2
KDE Frameworks Version: 5.55.0
Qt Version: 5.12.1

ADDITIONAL INFORMATION
This occurs at any resolution.
This appears specific to Intel graphics (experienced on laptop with HD graphics 630, was not able to replicate with another machine with Polaris RX 480)
This appears to occur on both Wayland and X sessions.
The window does not need to be fully maximized, so long as it covers more than 2/3 of total screen area FPS drops from 60 directly to 30.
The FPS drop is not gradual, it does not scale linearly with respect to covered area. Instead FPS drops directly and sharply from 60 to 30 when the threshold is reached.
My GPU is not bottlenecking here (load when FPS capped at 30 is measured at a maximum of 20 percent by intel_gpu_top from intel_gpu_tools
Comment 1 Martin Flöser 2019-03-02 06:15:20 UTC
You are demanding too much from the poor integrated gpu.
Comment 2 Martin Flöser 2019-03-02 06:16:32 UTC
Also please remember that show fps might not show accurate information especially when blur is involved. Like it says: it is not a Benchmark.
Comment 3 Sawyer Bergeron 2019-03-02 14:40:30 UTC
Sorry, I don't know if I conveyed my experience entirely clearly.

I understand intel graphics are not super powerful, but what's going on here suggests their raw compute power isn't at fault here:

1: the intel designed monitor for iGPU utilization never peaks above like 20-30%
2: the stutters match my experience with the FPS counter, I'll try other measurement software to see if they match my experience with the built in effect.
3: it is a hard drop, the window could be 2/3 of the screen minus one pixel and everything will run at 60fps with no stuttering, basically never dropping below 55 fps. The moment 2/3 of the screen plus one pixel is using transparency the FPS drops to 30 fps and never above that, nor below it. It is much more similar to a cap than something genuinely loading the GPU. From every experience I've had, if the GPU is genuinely having difficulty keeping up with a DE (GMA graphics had a bit of trouble a couple years ago) then any drop in FPS is gradual, so it will go from 60 fps down to 55, 50 and so on with increasing load. That isn't the behavior here.
4: even when redrawing isn't required for the blurred region (moving a window around in the region not covered by a window 2/3 screen size) stuttering is evident, but so long as the transparent region is less than 2/3 screen area that stuttering does not happen.


If I'm mistaken I apologize for reopening this, the numbers in question just seem *very* odd if it is simply performance limitations from the iGPU. I'll try to dig into the source for the transparency effect myself to see if anything pops out at me in the meantime. It could be something within the Intel drivers themselves, who knows.
Comment 4 Patrick Silva 2019-03-02 18:31:09 UTC
I can confirm the problem here.
Frame rate is 30fps while transparent and blurred konsole is open and maximized
on Wayland with intel hd graphics. bug 404604 is another report related.


Operating System: Arch Linux 
KDE Plasma Version: 5.15.2
KDE Frameworks Version: 5.55.0
Qt Version: 5.12.1
Kernel Version: 4.20.13-arch1-1-ARCH
OS Type: 64-bit
Processors: 2 × Intel® Celeron® CPU G1820 @ 2.70GHz
Memory: 7,7 GiB of RAM
Comment 5 Vlad Zahorodnii 2019-03-04 10:47:33 UTC
First of all, please don't change status of a bug report set by a developer.

As Martin said, the Show FPS effect is not a reliable source to judge performance of KWin. The Blur effect in KWin is not that cheap as some people say. When you use the Show FPS effect, it can force blurring of underlying windows sixty times per seconds or more (depends on your refresh rate).