CompositorReport as used by DefaultDisplayBufferCompositor can't measure render time
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Mir |
Fix Released
|
Medium
|
Daniel van Vugt | ||
mir (Ubuntu) |
Fix Released
|
Medium
|
Unassigned |
Bug Description
CompositorReport as used by DefaultDisplayB
Presently we have:
// [A]
report-
...
if (display_
{
}
else
{
}
// [C]
Compositor report correctly reports "frame time" as [C]-[A]. However a more useful measure is render time which is [B]-[A]. But we can't do that yet as we'd have to insert a reporting point in the middle of the post_ functions (or split them) so as to not include page flipping time in "render time", while still including the final eglSwapBuffers (if any).
Related branches
- Alberto Aguirre (community): Approve
- Cemil Azizoglu (community): Approve
- Alan Griffiths: Needs Fixing
- PS Jenkins bot (community): Approve (continuous-integration)
-
Diff: 118 lines (+11/-16)4 files modifiedplayground/demo-shell/demo_compositor.cpp (+1/-3)
src/server/compositor/default_display_buffer_compositor.cpp (+1/-4)
src/server/report/logging/compositor_report.cpp (+7/-7)
src/server/report/logging/compositor_report.h (+2/-2)
- Alberto Aguirre (community): Approve
- Cemil Azizoglu (community): Approve
- Alan Griffiths: Approve
- PS Jenkins bot (community): Approve (continuous-integration)
- Robert Carr (community): Approve
-
Diff: 655 lines (+157/-61)29 files modifiedbenchmarks/frame-uniformity/vsync_simulating_graphics_platform.cpp (+5/-1)
examples/render_to_fb.cpp (+2/-1)
include/platform/mir/graphics/display_buffer.h (+27/-2)
platform-ABI-sha1sums (+1/-1)
playground/demo-shell/demo_compositor.cpp (+13/-1)
server-ABI-sha1sums (+1/-1)
src/platform/symbols.map (+0/-1)
src/platforms/android/display_buffer.cpp (+5/-1)
src/platforms/android/display_buffer.h (+2/-1)
src/platforms/mesa/display_buffer.cpp (+13/-18)
src/platforms/mesa/display_buffer.h (+3/-2)
src/server/compositor/default_display_buffer_compositor.cpp (+12/-1)
src/server/compositor/screencast_display_buffer.cpp (+5/-1)
src/server/compositor/screencast_display_buffer.h (+2/-1)
src/server/graphics/nested/nested_output.cpp (+5/-1)
src/server/graphics/nested/nested_output.h (+2/-1)
src/server/graphics/offscreen/display_buffer.cpp (+5/-1)
src/server/graphics/offscreen/display_buffer.h (+2/-1)
tests/include/mir_test_doubles/mock_display_buffer.h (+2/-1)
tests/include/mir_test_doubles/null_display_buffer.h (+2/-1)
tests/include/mir_test_doubles/stub_display_builder.h (+2/-1)
tests/integration-tests/graphics/android/test_display_integration.cpp (+4/-2)
tests/integration-tests/test_surface_stack_with_compositor.cpp (+5/-1)
tests/unit-tests/compositor/test_default_display_buffer_compositor.cpp (+15/-5)
tests/unit-tests/compositor/test_screencast_display_buffer.cpp (+2/-2)
tests/unit-tests/graphics/android/test_display_buffer.cpp (+2/-1)
tests/unit-tests/graphics/mesa/test_display.cpp (+4/-2)
tests/unit-tests/graphics/mesa/test_display_buffer.cpp (+9/-5)
tests/unit-tests/graphics/mesa/test_display_multi_monitor.cpp (+5/-3)
Changed in mir: | |
assignee: | nobody → Daniel van Vugt (vanvugt) |
milestone: | none → 0.10.0 |
status: | Triaged → In Progress |
Changed in mir: | |
status: | Fix Committed → Fix Released |
Fix committed into lp:mir at revision 2183, scheduled for release in mir, milestone 0.10.0