Bug 381495 - Significant increase in CPU utilisation when "Show Seconds" enabled.
Summary: Significant increase in CPU utilisation when "Show Seconds" enabled.
Status: RESOLVED NOT A BUG
Alias: None
Product: kwin
Classification: Plasma
Component: general (show other bugs)
Version: 5.10.2
Platform: openSUSE Linux
: NOR normal
Target Milestone: ---
Assignee: KWin default assignee
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2017-06-21 17:30 UTC by Paul
Modified: 2017-06-29 17:14 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Paul 2017-06-21 17:30:36 UTC
Plasma 5.10.2
KDE frameworks 5.34.0
Qt 5.9.0

When "Show Seconds" is enabled there is a significant increase in CPU utilisation by kwin_X11

As shown by "Top" (observed when idle over approximately two minutes)

Show Seconds disabled - kwin_X11 approx 7% to 8% utilisation

Show Seconds enabled - kwin_X11 approx 13% to 22% utilisation
Comment 1 Christoph Feck 2017-06-28 21:51:28 UTC
Is there a difference with composition enabled vs. compositing disabled?
Comment 2 Martin Flöser 2017-06-29 05:12:26 UTC
Please use the show paint effect to see what repaints. If there is constant flickering in the panel we need to reassign to Plasma.
Comment 3 Paul 2017-06-29 11:23:54 UTC
(In reply to Christoph Feck from comment #1)
> Is there a difference with composition enabled vs. compositing disabled?

Yes.

With compositing disabled (alt-shift-f12) CPU utilisation by kwin_X11 drops to < 1.0%

There appears no noticeable difference when Show Seconds is enabled.
Comment 4 Paul 2017-06-29 11:25:20 UTC
(In reply to Martin Flöser from comment #2)
> Please use the show paint effect to see what repaints. If there is constant
> flickering in the panel we need to reassign to Plasma.

The panel repaints only at 1 sec intervals as the time updates.
Comment 5 Martin Flöser 2017-06-29 14:52:15 UTC
please provide the output of qdbus org.kde.KWin /KWin supportInformation
Comment 6 Paul 2017-06-29 15:09:56 UTC
This is with the normal configuration used on this machine, apart from Digital clock temporarily has "Show Seconds" disabled.


KWin Support Information:
=========================

Version
=======
KWin version: 5.10.2
Qt Version: 5.9.0
Qt compile version: 5.9.0
XCB compile version: 1.12

Operation Mode: X11 only

Build Options
=============
KWIN_BUILD_DECORATIONS: yes
KWIN_BUILD_TABBOX: yes
KWIN_BUILD_ACTIVITIES: yes
HAVE_INPUT: yes
HAVE_DRM: yes
HAVE_GBM: yes
HAVE_X11_XCB: yes
HAVE_EPOXY_GLX: yes
HAVE_WAYLAND_EGL: yes

X11
===
Vendor: The X.Org Foundation
Vendor Release: 11903000
Protocol Version/Revision: 11/0
SHAPE: yes; Version: 0x11
RANDR: yes; Version: 0x14
DAMAGE: yes; Version: 0x11
Composite: yes; Version: 0x4
RENDER: yes; Version: 0xb
XFIXES: yes; Version: 0x50
SYNC: yes; Version: 0x31
GLX: yes; Version: 0x0

Decoration
==========
Plugin: org.kde.oxygen
Theme: 
Blur: 0
onAllDesktopsAvailable: false
alphaChannelSupported: true
closeOnDoubleClickOnMenu: false
decorationButtonsLeft: 5, 3, 4, 7
decorationButtonsRight: 9, 6
borderSize: 2
gridUnit: 8
font: Ubuntu,9,-1,5,50,0,0,0,0,0
smallSpacing: 2
largeSpacing: 8

Options
=======
focusPolicy: 0
nextFocusPrefersMouse: false
clickRaise: true
autoRaise: false
autoRaiseInterval: 0
delayFocusInterval: 0
shadeHover: false
shadeHoverInterval: 250
separateScreenFocus: false
placement: 7
focusPolicyIsReasonable: true
borderSnapZone: 0
windowSnapZone: 8
centerSnapZone: 0
snapOnlyWhenOverlapping: false
rollOverDesktops: true
focusStealingPreventionLevel: 1
legacyFullscreenSupport: false
operationTitlebarDblClick: 5000
operationMaxButtonLeftClick: 5000
operationMaxButtonMiddleClick: 5015
operationMaxButtonRightClick: 5014
commandActiveTitlebar1: 0
commandActiveTitlebar2: 30
commandActiveTitlebar3: 2
commandInactiveTitlebar1: 4
commandInactiveTitlebar2: 30
commandInactiveTitlebar3: 2
commandWindow1: 7
commandWindow2: 8
commandWindow3: 8
commandWindowWheel: 31
commandAll1: 10
commandAll2: 3
commandAll3: 14
keyCmdAllModKey: 16777251
showGeometryTip: false
condensedTitle: false
electricBorderMaximize: false
electricBorderTiling: false
electricBorderCornerRatio: 0.25
borderlessMaximizedWindows: false
killPingTimeout: 5000
hideUtilityWindowsForInactive: true
inactiveTabsSkipTaskbar: false
autogroupSimilarWindows: false
autogroupInForeground: true
compositingMode: 1
useCompositing: true
compositingInitialized: true
hiddenPreviews: 1
glSmoothScale: 2
xrenderSmoothScale: false
maxFpsInterval: 16666666
refreshRate: 0
vBlankTime: 6000000
glStrictBinding: true
glStrictBindingFollowsDriver: true
glCoreProfile: false
glPreferBufferSwap: 101
glPlatformInterface: 1
windowsBlockCompositing: true

Screen Edges
============
desktopSwitching: false
desktopSwitchingMovingClients: false
cursorPushBackDistance: 1x1
timeThreshold: 150
reActivateThreshold: 350
actionTopLeft: 0
actionTop: 0
actionTopRight: 0
actionRight: 0
actionBottomRight: 0
actionBottom: 0
actionBottomLeft: 0
actionLeft: 0

Screens
=======
Multi-Head: no
Active screen follows mouse:  no
Number of Screens: 1

Screen 0:
---------
Name: DVI-I-1
Geometry: 0,0,1920x1200
Refresh Rate: 59.9502


Compositing
===========
Compositing is active
Compositing Type: OpenGL
OpenGL vendor string: VMware, Inc.
OpenGL renderer string: Gallium 0.4 on llvmpipe (LLVM 4.0, 128 bits)
OpenGL version string: 3.0 Mesa 17.1.3
OpenGL platform interface: GLX
OpenGL shading language version string: 1.30
Driver: LLVMpipe
GPU class: Unknown
OpenGL version: 3.0
GLSL version: 1.30
Mesa version: 17.1.3
X server version: 1.19.3
Linux kernel version: 4.11.6
Direct rendering: Requires strict binding: yes
GLSL shaders:  yes
Texture NPOT support:  yes
Virtual Machine:  no
OpenGL 2 Shaders are used
Painting blocks for vertical retrace:  no

Loaded Effects:
---------------
screenshot
diminactive
colorpicker
highlightwindow
startupfeedback
kscreen

Currently Active Effects:
-------------------------
diminactive

Effect Settings:
----------------
screenshot:

diminactive:
dimPanels: false
dimDesktop: false
dimKeepAbove: false
dimByGroup: true
dimStrength: 10

colorpicker:

highlightwindow:

startupfeedback:
type: 1

kscreen:




Additionally, (probably irrelevant) I have: 

[Units]
longDuration=5

in plasmarc (to effectively disable plasma animations)
Comment 7 Martin Flöser 2017-06-29 16:15:23 UTC
> OpenGL renderer string: Gallium 0.4 on llvmpipe (LLVM 4.0, 128 bits)

You don't have any hardware driver installed. This is the software emulation driver. It is expected that this one requires more CPU.

The only way to fix it is to install proper drivers for your system.
Comment 8 Paul 2017-06-29 17:04:08 UTC
(In reply to Martin Flöser from comment #7)

> The only way to fix it is to install proper drivers for your system.

Could you please elaborate on that?

I'm currently using the nouveau oss driver, do you mean I should use the proprietary nvidia driver instead?
Comment 9 Paul 2017-06-29 17:14:13 UTC
Apologies, please ignore my comment #8

Mesa-dri-nouveau was not installed.  This is a separate package on openSUSE as it is regarded as experimental.

Thanks for your time.