Merge lp://staging/~smspillaz/compiz-core/compiz-core.optimization-inlining into lp://staging/compiz-core
Status: | Superseded |
---|---|
Proposed branch: | lp://staging/~smspillaz/compiz-core/compiz-core.optimization-inlining |
Merge into: | lp://staging/compiz-core |
Diff against target: |
338 lines (+129/-78) 9 files modified
include/core/region.h (+1/-1) include/core/window.h (+11/-7) src/privatewindow.h (+16/-0) src/rect/include/core/rect.h (+19/-0) src/region.cpp (+0/-6) src/window.cpp (+9/-0) src/window/geometry/include/core/windowgeometry.h (+1/-1) src/window/geometry/src/windowgeometry.cpp (+0/-6) src/windowgeometry.cpp (+72/-57) |
To merge this branch: | bzr merge lp://staging/~smspillaz/compiz-core/compiz-core.optimization-inlining |
Related bugs: |
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Daniel van Vugt | Needs Fixing | ||
Alan Griffiths | Approve | ||
Review via email: mp+95094@code.staging.launchpad.net |
This proposal has been superseded by a proposal from 2012-04-19.
Description of the change
Optimize and inline some hot-spots in CompWindow.
server*Rect and *Rect were being called quite a lot and unnecessarily being recalculated and copy-constructed (eg XCreateRegion madness). This branch inlines some functions that were being called a ton (compiz:
Unmerged revisions
- 3027. By Sam Spilsbury
-
Added RecalcRect, a class which has a function to recalculate a rectangle on demand,
currently replaces *Rect () in window and allows them to be const &, soon we will be
able to only recalculate these when necessary and not all the time - 3026. By Sam Spilsbury
-
Inline some heavily called CompRegion and compiz:
:window: :Geometry types
Not really relevant to the change, but as "Region handle () const" compiles there's already a declaration of Region visible - so why is priv a "void*" and cast all the while?