[effects/magiclamp] Eliminate unnecessary reallocations

Summary:
The maximum size of `newQuads` is known in advance, so we can avoid
unnecessary reallocations when adding transformed window quads to
`newQuads`.

Test Plan: Minimized/unminimized System Settings.

Reviewers: #kwin, davidedmundson

Reviewed By: #kwin, davidedmundson

Subscribers: davidedmundson, kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D14117
This commit is contained in:
Vlad Zagorodniy 2018-07-14 22:48:45 +03:00
parent 049c6e0966
commit 4aa19c2e91

View file

@ -198,6 +198,7 @@ void MagicLampEffect::paintWindow(EffectWindow* w, int mask, QRegion region, Win
quad[3]._SET_B_(quad[3]._B_() + offset[_O3_])
WindowQuadList newQuads;
newQuads.reserve(data.quads.count());
float quadFactor; // defines how fast a quad is vertically moved: y coordinates near to window top are slowed down
// it is used as quadFactor^3/windowHeight^3
// quadFactor is the y position of the quad but is changed towards becomming the window height