Summary: | High CPU usage with Nvida native driver | ||
---|---|---|---|
Product: | [Plasma] plasmashell | Reporter: | Marcin Bajor <marcin.bajor> |
Component: | general | Assignee: | David Edmundson <kde> |
Status: | RESOLVED INTENTIONAL | ||
Severity: | normal | CC: | bhush94, plasma-bugs |
Priority: | NOR | ||
Version: | 5.9.1 | ||
Target Milestone: | 1.0 | ||
Platform: | openSUSE | ||
OS: | Linux | ||
Latest Commit: | Version Fixed In: | ||
Attachments: |
Perf Nvidia
Perf Intel 50s Nvidia apitrace 30s Nvidia apitrace 50s Intel apitrace 30s Intel apitrace |
Description
Marcin Bajor
2017-02-14 16:25:06 UTC
Created attachment 104062 [details]
Perf Nvidia
Attached report from perf profiling tool plasmashell+nvidia native driver
Created attachment 104063 [details]
Perf Intel
Attached report from perf profiling tool plasmashell+intel driver
That shows us nothing. There's 1.8% of CPU time spent in renderMergeBatches in the nvidia one and 1.4% in intel. A .4% difference in CPU time isn't going to be significant difference worth investigating even if you had some information to go on. Exactly what perf command did you run? If it's really an nvidia only issue, apitrace might be more useful. The difference is QSGRenerThread uses more CPU time when Nvidia is used. > Exactly what perf command did you run? perf record plasmashell with native nvidia drivers and intel. For clarity: I have 2 graphics card on my laptop. > If it's really an nvidia only issue, apitrace might be more useful. apitrace trace --api gl plasmashell is enough? >The difference is QSGRenerThread uses more CPU time when Nvidia is used.
Well that's a given. On intel there is no render thread.
you can force nvidia in there too if you run QSG_RENDER_LOOP=basic
that apitrace line should be fine.
Created attachment 104082 [details]
50s Nvidia apitrace
Command:
timeout 50s ./apitrace trace --api gl plasmashell
Created attachment 104083 [details]
30s Nvidia apitrace
Command:
timeout 30s ./apitrace trace --api gl plasmashell
Created attachment 104084 [details]
50s Intel apitrace
Command:
timeout 50s ./apitrace trace --api gl plasmashell
Created attachment 104085 [details]
30s Intel apitrace
Command:
timeout 30s ./apitrace trace --api gl plasmashell
I attached profiling results on Nvidia and Intel. Steps: 1. Start copy files in dolphin 2. Run command: timeout [t]s ./apitrace trace --api gl plasmashell where t = 30s, 50s Because of attachments limit all files are available here: https://mega.nz/#F!h8pgmRCQ!0F93jY7rTDiGIFWy8Nay4Q Closing the issue. I tested CPU usage on other OpenGl applications and I think it's general not plasmashell issue. |