Surface transformation matrix is recalculated every frame, using 6%xNsurfaces of mir's CPU time
Bug #1193020 reported by
Thomas Voß
This bug affects 1 person
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Mir |
Fix Released
|
Medium
|
Daniel van Vugt |
Bug Description
The transformation matrix should only be recalculated if the transformation actually changed, avoiding unnecessary recalculations and saving CPU cycles.
Related branches
lp://staging/~vanvugt/mir/fix-1193020
- PS Jenkins bot (community): Approve (continuous-integration)
- Thomas Voß (community): Approve
- Chris Halse Rogers: Approve
- Robert Ancell: Approve
-
Diff: 225 lines (+68/-33)6 files modifiedinclude/server/mir/graphics/renderable.h (+1/-1)
include/server/mir/surfaces/surface.h (+4/-1)
include/test/mir_test_doubles/mock_renderable.h (+1/-1)
src/server/surfaces/surface.cpp (+36/-28)
tests/unit-tests/graphics/test_gl_renderer.cpp (+3/-2)
tests/unit-tests/surfaces/test_surface.cpp (+23/-0)
Changed in mir: | |
importance: | Undecided → Medium |
summary: |
- Surface transformation matrix is recalculated every time, using 6% of - CPU in render + Surface transformation matrix is recalculated every frame, using 6% of + mir's CPU |
summary: |
Surface transformation matrix is recalculated every frame, using 6% of - mir's CPU + mir's time |
Changed in mir: | |
milestone: | none → 0.0.4 |
summary: |
- Surface transformation matrix is recalculated every frame, using 6% of - mir's time + Surface transformation matrix is recalculated every frame, using at + least 6% of mir's time |
summary: |
- Surface transformation matrix is recalculated every frame, using at - least 6% of mir's time + Surface transformation matrix is recalculated every frame, using + 6%xNsurfaces of mir's CPU time |
Changed in mir: | |
status: | Fix Committed → Fix Released |
To post a comment you must log in.
This sounds like it might be somewhat of a regression, due to:
revno: 646 [merge] :transformation (),
author: Daniel van Vugt <email address hidden>
committer: Tarmac
branch nick: trunk
timestamp: Wed 2013-05-01 17:04:08 +0000
message:
Move all stages of the surface transformation into Surface:
so that it can be easily reused in future for mapping between world and
surface space.
Potential use cases are:
1. Mapping mouse clicks into transformed windows accurately.
2. Rendering shadow shapes accurately regardless of how a surface is
transformed.
.
Approved by Alexandros Frantzis, Alan Griffiths, PS Jenkins bot.