[prev in list] [next in list] [prev in thread] [next in thread]
List: kwin
Subject: Re: Review Request 115073: Turn built-in effects into a library kwin links against
From: Martin_Gräßlin <mgraesslin () kde ! org>
Date: 2014-01-24 13:17:26
Message-ID: 20140124131726.10270.41830 () probe ! kde ! org
[Download RAW message or body]
[Attachment #2 (multipart/alternative)]
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://git.reviewboard.kde.org/r/115073/
-----------------------------------------------------------
(Updated Jan. 24, 2014, 1:17 p.m.)
Status
------
This change has been marked as submitted.
Review request for kwin.
Repository: kde-workspace
Description
-------
As all effects have always been compiled into the same .so file it's
questionable whether resolving the effects through a library is useful
at all. By linking against the built-in effects we gain the following
advantages:
* don't have to load/unload the KLibrary
* don't have to resolve the create, supported and enabled functions
* no version check required
* no dependency resolving (effects don't use it)
* remove the KWIN_EFFECT macros from the effects
All the effects are now registered in an effects_builtins file which
maps the name to a factory method and supported or enabled by default
methods.
During loading the effects we first check whether there is a built-in
effect by the given name and make a shortcut to create it through that.
If that's not possible the normal plugin loading is used.
Completely unscientific testing [1] showed an improvement of almost 10
msec during loading all the effects I use.
[1] QElapsedTimer around the loading code, start kwin five times, take
average.
Diffs
-----
kwin/effects/trackmouse/trackmouse.cpp 21ec1db
kwin/effects/windowgeometry/windowgeometry.cpp 3c20bb2
kwin/effects/wobblywindows/wobblywindows.cpp 271f7ba
kwin/effects/zoom/zoom.cpp 97848ae
kwin/effects/mouseclick/mouseclick.cpp 22b28e7
kwin/effects/mousemark/mousemark.cpp 88cee2f
kwin/effects/presentwindows/presentwindows.cpp a0120b5
kwin/effects/resize/resize.cpp 86b106f
kwin/effects/screenedge/screenedgeeffect.cpp 7661ede
kwin/effects/screenshot/screenshot.cpp be3c9f0
kwin/effects/sheet/sheet.cpp ee5eddf
kwin/effects/showfps/showfps.cpp 1324165
kwin/effects/showpaint/showpaint.cpp 5a7a044
kwin/effects/slide/slide.cpp 7ed5408
kwin/effects/slideback/slideback.cpp f280e03
kwin/effects/slidingpopups/slidingpopups.cpp 823023e
kwin/effects/snaphelper/snaphelper.cpp a8cd1a9
kwin/effects/startupfeedback/startupfeedback.cpp d700138
kwin/effects/taskbarthumbnail/taskbarthumbnail.cpp 0321d6a
kwin/effects/thumbnailaside/thumbnailaside.cpp 6a753a4
kwin/CMakeLists.txt ad92a79
kwin/effects.h 7ccde39
kwin/effects.cpp ec1a310
kwin/effects/CMakeLists.txt d1e2b0d
kwin/effects/blur/blur.cpp 9b40281
kwin/effects/coverswitch/coverswitch.cpp 0e2d581
kwin/effects/cube/cube.cpp 8b01070
kwin/effects/dashboard/dashboard.cpp 6e11d6d
kwin/effects/desktopgrid/desktopgrid.cpp 6455c38
kwin/effects/diminactive/diminactive.cpp 6a4a287
kwin/effects/dimscreen/dimscreen.cpp 8155449
kwin/effects/effect_builtins.h PRE-CREATION
kwin/effects/effect_builtins.cpp PRE-CREATION
kwin/effects/fallapart/fallapart.cpp ace7868
kwin/effects/flipswitch/flipswitch.cpp 008fd55
kwin/effects/glide/glide.cpp b133858
kwin/effects/highlightwindow/highlightwindow.cpp 647b47b
kwin/effects/invert/invert.cpp 03ce15d8
kwin/effects/kscreen/kscreen.cpp 5747425
kwin/effects/logout/logout.cpp 5e19469
kwin/effects/lookingglass/lookingglass.cpp 31edd1d
kwin/effects/magiclamp/magiclamp.cpp 8595168
kwin/effects/magnifier/magnifier.cpp 1159134
kwin/effects/minimizeanimation/minimizeanimation.cpp 6d4f388
Diff: https://git.reviewboard.kde.org/r/115073/diff/
Testing
-------
Thanks,
Martin Gräßlin
[Attachment #5 (text/html)]
<html>
<body>
<div style="font-family: Verdana, Arial, Helvetica, Sans-Serif;">
<table bgcolor="#f9f3c9" width="100%" cellpadding="8" style="border: 1px #c9c399 \
solid;"> <tr>
<td>
This is an automatically generated e-mail. To reply, visit:
<a href="https://git.reviewboard.kde.org/r/115073/">https://git.reviewboard.kde.org/r/115073/</a>
</td>
</tr>
</table>
<br />
<table bgcolor="#e0e0e0" width="100%" cellpadding="8" style="border: 1px gray \
solid;"> <tr>
<td>
<h1 style="margin-right: 0.2em; padding: 0; font-size: 10pt;">This change has been \
marked as submitted.</h1> </td>
</tr>
</table>
<br />
<table bgcolor="#fefadf" width="100%" cellspacing="0" cellpadding="8" \
style="background-image: \
url('https://git.reviewboard.kde.org/static/rb/images/review_request_box_top_bg.ab6f3b1072c9.png'); \
background-position: left top; background-repeat: repeat-x; border: 1px black \
solid;"> <tr>
<td>
<div>Review request for kwin.</div>
<div>By Martin Gräßlin.</div>
<p style="color: grey;"><i>Updated Jan. 24, 2014, 1:17 p.m.</i></p>
<div style="margin-top: 1.5em;">
<b style="color: #575012; font-size: 10pt;">Repository: </b>
kde-workspace
</div>
<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Description </h1>
<table width="100%" bgcolor="#ffffff" cellspacing="0" cellpadding="10" \
style="border: 1px solid #b8b5a0"> <tr>
<td>
<pre style="margin: 0; padding: 0; white-space: pre-wrap; white-space: \
-moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: \
break-word;">As all effects have always been compiled into the same .so file it's \
questionable whether resolving the effects through a library is useful at all. By \
linking against the built-in effects we gain the following advantages:
* don't have to load/unload the KLibrary
* don't have to resolve the create, supported and enabled functions
* no version check required
* no dependency resolving (effects don't use it)
* remove the KWIN_EFFECT macros from the effects
All the effects are now registered in an effects_builtins file which
maps the name to a factory method and supported or enabled by default
methods.
During loading the effects we first check whether there is a built-in
effect by the given name and make a shortcut to create it through that.
If that's not possible the normal plugin loading is used.
Completely unscientific testing [1] showed an improvement of almost 10
msec during loading all the effects I use.
[1] QElapsedTimer around the loading code, start kwin five times, take
average.</pre>
</td>
</tr>
</table>
<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Diffs</b> </h1>
<ul style="margin-left: 3em; padding-left: 0;">
<li>kwin/effects/trackmouse/trackmouse.cpp <span style="color: \
grey">(21ec1db)</span></li>
<li>kwin/effects/windowgeometry/windowgeometry.cpp <span style="color: \
grey">(3c20bb2)</span></li>
<li>kwin/effects/wobblywindows/wobblywindows.cpp <span style="color: \
grey">(271f7ba)</span></li>
<li>kwin/effects/zoom/zoom.cpp <span style="color: grey">(97848ae)</span></li>
<li>kwin/effects/mouseclick/mouseclick.cpp <span style="color: \
grey">(22b28e7)</span></li>
<li>kwin/effects/mousemark/mousemark.cpp <span style="color: \
grey">(88cee2f)</span></li>
<li>kwin/effects/presentwindows/presentwindows.cpp <span style="color: \
grey">(a0120b5)</span></li>
<li>kwin/effects/resize/resize.cpp <span style="color: grey">(86b106f)</span></li>
<li>kwin/effects/screenedge/screenedgeeffect.cpp <span style="color: \
grey">(7661ede)</span></li>
<li>kwin/effects/screenshot/screenshot.cpp <span style="color: \
grey">(be3c9f0)</span></li>
<li>kwin/effects/sheet/sheet.cpp <span style="color: grey">(ee5eddf)</span></li>
<li>kwin/effects/showfps/showfps.cpp <span style="color: grey">(1324165)</span></li>
<li>kwin/effects/showpaint/showpaint.cpp <span style="color: \
grey">(5a7a044)</span></li>
<li>kwin/effects/slide/slide.cpp <span style="color: grey">(7ed5408)</span></li>
<li>kwin/effects/slideback/slideback.cpp <span style="color: \
grey">(f280e03)</span></li>
<li>kwin/effects/slidingpopups/slidingpopups.cpp <span style="color: \
grey">(823023e)</span></li>
<li>kwin/effects/snaphelper/snaphelper.cpp <span style="color: \
grey">(a8cd1a9)</span></li>
<li>kwin/effects/startupfeedback/startupfeedback.cpp <span style="color: \
grey">(d700138)</span></li>
<li>kwin/effects/taskbarthumbnail/taskbarthumbnail.cpp <span style="color: \
grey">(0321d6a)</span></li>
<li>kwin/effects/thumbnailaside/thumbnailaside.cpp <span style="color: \
grey">(6a753a4)</span></li>
<li>kwin/CMakeLists.txt <span style="color: grey">(ad92a79)</span></li>
<li>kwin/effects.h <span style="color: grey">(7ccde39)</span></li>
<li>kwin/effects.cpp <span style="color: grey">(ec1a310)</span></li>
<li>kwin/effects/CMakeLists.txt <span style="color: grey">(d1e2b0d)</span></li>
<li>kwin/effects/blur/blur.cpp <span style="color: grey">(9b40281)</span></li>
<li>kwin/effects/coverswitch/coverswitch.cpp <span style="color: \
grey">(0e2d581)</span></li>
<li>kwin/effects/cube/cube.cpp <span style="color: grey">(8b01070)</span></li>
<li>kwin/effects/dashboard/dashboard.cpp <span style="color: \
grey">(6e11d6d)</span></li>
<li>kwin/effects/desktopgrid/desktopgrid.cpp <span style="color: \
grey">(6455c38)</span></li>
<li>kwin/effects/diminactive/diminactive.cpp <span style="color: \
grey">(6a4a287)</span></li>
<li>kwin/effects/dimscreen/dimscreen.cpp <span style="color: \
grey">(8155449)</span></li>
<li>kwin/effects/effect_builtins.h <span style="color: \
grey">(PRE-CREATION)</span></li>
<li>kwin/effects/effect_builtins.cpp <span style="color: \
grey">(PRE-CREATION)</span></li>
<li>kwin/effects/fallapart/fallapart.cpp <span style="color: \
grey">(ace7868)</span></li>
<li>kwin/effects/flipswitch/flipswitch.cpp <span style="color: \
grey">(008fd55)</span></li>
<li>kwin/effects/glide/glide.cpp <span style="color: grey">(b133858)</span></li>
<li>kwin/effects/highlightwindow/highlightwindow.cpp <span style="color: \
grey">(647b47b)</span></li>
<li>kwin/effects/invert/invert.cpp <span style="color: grey">(03ce15d8)</span></li>
<li>kwin/effects/kscreen/kscreen.cpp <span style="color: grey">(5747425)</span></li>
<li>kwin/effects/logout/logout.cpp <span style="color: grey">(5e19469)</span></li>
<li>kwin/effects/lookingglass/lookingglass.cpp <span style="color: \
grey">(31edd1d)</span></li>
<li>kwin/effects/magiclamp/magiclamp.cpp <span style="color: \
grey">(8595168)</span></li>
<li>kwin/effects/magnifier/magnifier.cpp <span style="color: \
grey">(1159134)</span></li>
<li>kwin/effects/minimizeanimation/minimizeanimation.cpp <span style="color: \
grey">(6d4f388)</span></li>
</ul>
<p><a href="https://git.reviewboard.kde.org/r/115073/diff/" style="margin-left: \
3em;">View Diff</a></p>
</td>
</tr>
</table>
</div>
</body>
</html>
_______________________________________________
kwin mailing list
kwin@kde.org
https://mail.kde.org/mailman/listinfo/kwin
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic