[regression] [mako] Scrolling and animations are very slow with Mir
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Mir |
Fix Released
|
High
|
Kevin DuBois | ||
mir (Ubuntu) |
Fix Released
|
High
|
Unassigned | ||
Saucy |
Fix Released
|
High
|
Unassigned | ||
unity8 (Ubuntu) |
Invalid
|
Undecided
|
Unassigned | ||
Saucy |
Invalid
|
Undecided
|
Unassigned |
Bug Description
Image 80
A few weeks ago when I was running Unity8 on Mir everything was pretty fast and responsive but a few days ago rendering got much slower. Normal animations are laggy, scrolling in dash is laggy/jerky. App focus animation is slow. And if you really look close at a spinner even the spinner in the bluetooth panel of the system-settings app its rotation is even not smooth.
So basically all type of rendering is slow.
Saviq says if you just run autopilot test suite of ubuntu_
ProblemType: Bug
DistroRelease: Ubuntu 13.10
Package: libmirplatform 0.0.13+
Uname: Linux 3.4.0-3-mako armv7l
ApportVersion: 2.12.5-0ubuntu1
Architecture: armhf
Date: Fri Oct 4 11:10:33 2013
InstallationDate: Installed on 2013-10-03 (0 days ago)
InstallationMedia: Ubuntu Saucy Salamander (development branch) - armhf (20131003.2)
MarkForUpload: True
ProcEnviron:
TERM=linux
PATH=(custom, no user)
SourcePackage: mir
UpgradeStatus: No upgrade log present (probably fresh install)
Related branches
- Alexandros Frantzis (community): Approve
- PS Jenkins bot (community): Approve (continuous-integration)
- Alan Griffiths: Approve
- Daniel van Vugt: Needs Fixing
-
Diff: 3871 lines (+1199/-549)80 files modifiedinclude/platform/mir/graphics/buffer.h (+2/-2)
include/shared/mir/graphics/android/android_driver_interpreter.h (+3/-3)
include/shared/mir/graphics/android/android_native_buffer.h (+72/-0)
include/shared/mir/graphics/android/fence.h (+13/-8)
include/shared/mir/graphics/android/mir_native_window.h (+2/-3)
include/shared/mir/graphics/android/native_buffer.h (+21/-23)
include/shared/mir/graphics/android/sync_fence.h (+33/-10)
include/shared/mir/graphics/native_buffer.h (+41/-0)
include/test/mir_test/draw/android_graphics.h (+1/-2)
include/test/mir_test_doubles/mock_alloc_adaptor.h (+1/-1)
include/test/mir_test_doubles/mock_android_native_buffer.h (+59/-0)
include/test/mir_test_doubles/mock_buffer.h (+2/-2)
include/test/mir_test_doubles/mock_fence.h (+44/-0)
include/test/mir_test_doubles/mock_interpreter_resource_cache.h (+3/-1)
include/test/mir_test_doubles/stub_buffer.h (+7/-3)
src/client/android/android_client_buffer.cpp (+17/-11)
src/client/android/android_client_buffer.h (+4/-3)
src/client/android/android_client_platform.cpp (+6/-1)
src/client/android/android_client_platform.h (+1/-0)
src/client/android/client_surface_interpreter.cpp (+14/-5)
src/client/android/client_surface_interpreter.h (+10/-2)
src/client/client_buffer.h (+3/-2)
src/client/client_platform.h (+3/-0)
src/client/gbm/gbm_client_platform.cpp (+6/-0)
src/client/gbm/gbm_client_platform.h (+1/-0)
src/client/mir_client_library.cpp (+1/-2)
src/client/mir_surface.cpp (+4/-2)
src/client/mir_surface.h (+2/-2)
src/server/compositor/temporary_buffers.cpp (+1/-1)
src/server/compositor/temporary_buffers.h (+1/-1)
src/server/graphics/android/android_alloc_adaptor.cpp (+16/-11)
src/server/graphics/android/android_alloc_adaptor.h (+1/-1)
src/server/graphics/android/android_buffer_allocator.cpp (+1/-0)
src/server/graphics/android/android_platform.cpp (+4/-1)
src/server/graphics/android/buffer.cpp (+38/-15)
src/server/graphics/android/buffer.h (+10/-3)
src/server/graphics/android/default_framebuffer_factory.cpp (+0/-1)
src/server/graphics/android/fb_device.cpp (+6/-2)
src/server/graphics/android/fb_swapper.h (+1/-1)
src/server/graphics/android/graphic_alloc_adaptor.h (+3/-3)
src/server/graphics/android/hwc11_device.cpp (+4/-3)
src/server/graphics/android/hwc11_device.h (+2/-0)
src/server/graphics/android/hwc_layerlist.cpp (+5/-2)
src/server/graphics/android/internal_client_window.cpp (+10/-8)
src/server/graphics/android/internal_client_window.h (+3/-2)
src/server/graphics/android/interpreter_cache.cpp (+24/-3)
src/server/graphics/android/interpreter_cache.h (+4/-1)
src/server/graphics/android/interpreter_resource_cache.h (+4/-1)
src/server/graphics/android/server_render_window.cpp (+11/-12)
src/server/graphics/android/server_render_window.h (+2/-10)
src/server/graphics/gbm/gbm_platform.cpp (+1/-0)
src/shared/graphics/android/CMakeLists.txt (+2/-1)
src/shared/graphics/android/android_native_buffer.cpp (+54/-0)
src/shared/graphics/android/mir_native_window.cpp (+17/-15)
src/shared/graphics/android/refcounted_buffer.cpp (+34/-38)
src/shared/graphics/android/syncfence.cpp (+55/-12)
tests/draw/android_graphics.cpp (+1/-1)
tests/integration-tests/client/test_client_render.cpp (+17/-16)
tests/integration-tests/graphics/android/test_buffer_integration.cpp (+2/-1)
tests/mir_test_framework/testing_client_options.cpp (+6/-1)
tests/mir_test_framework/testing_server_options.cpp (+3/-3)
tests/unit-tests/client/android/test_android_native_window.cpp (+32/-32)
tests/unit-tests/client/android/test_client_android_buffer.cpp (+17/-13)
tests/unit-tests/client/android/test_client_surface_interpreter.cpp (+11/-31)
tests/unit-tests/client/test_aging_buffer.cpp (+1/-1)
tests/unit-tests/client/test_client_buffer_depository.cpp (+1/-1)
tests/unit-tests/client/test_client_mir_surface.cpp (+9/-3)
tests/unit-tests/client/test_mir_connection.cpp (+1/-0)
tests/unit-tests/graphics/android/CMakeLists.txt (+1/-0)
tests/unit-tests/graphics/android/test_android_alloc_adaptor.cpp (+30/-28)
tests/unit-tests/graphics/android/test_android_platform.cpp (+14/-18)
tests/unit-tests/graphics/android/test_buffer.cpp (+41/-16)
tests/unit-tests/graphics/android/test_buffer_tex_bind.cpp (+49/-33)
tests/unit-tests/graphics/android/test_external_refcount.cpp (+35/-10)
tests/unit-tests/graphics/android/test_fb_device.cpp (+6/-6)
tests/unit-tests/graphics/android/test_hwc_layerlist.cpp (+15/-14)
tests/unit-tests/graphics/android/test_internal_client_interpreter.cpp (+13/-21)
tests/unit-tests/graphics/android/test_interpreter_buffer_cache.cpp (+40/-17)
tests/unit-tests/graphics/android/test_server_interpreter.cpp (+23/-47)
tests/unit-tests/graphics/android/test_sync_fence.cpp (+141/-0)
- Mir development team: Pending requested
-
Diff: 4413 lines (+1504/-897) (has conflicts)77 files modifieddebian/changelog (+47/-0)
include/platform/mir/graphics/buffer.h (+2/-2)
include/server/mir/default_server_configuration.h (+2/-0)
include/shared/mir/graphics/android/android_driver_interpreter.h (+1/-2)
include/shared/mir/graphics/android/fence.h (+11/-8)
include/shared/mir/graphics/android/mir_native_buffer.h (+5/-3)
include/shared/mir/graphics/android/mir_native_window.h (+1/-2)
include/shared/mir/graphics/android/sync_fence.h (+31/-10)
include/shared/mir/graphics/native_buffer.h (+44/-0)
include/shared/mir_toolkit/common.h (+2/-1)
include/test/mir_test/fake_event_hub.h (+88/-64)
include/test/mir_test_doubles/mock_alloc_adaptor.h (+1/-1)
include/test/mir_test_doubles/mock_buffer.h (+2/-2)
include/test/mir_test_doubles/mock_fence.h (+44/-0)
include/test/mir_test_doubles/mock_surface_state.h (+1/-1)
include/test/mir_test_doubles/stub_buffer.h (+4/-3)
include/test/mir_test_doubles/stub_native_buffer.h (+38/-0)
src/client/android/android_client_buffer.cpp (+3/-3)
src/client/android/android_client_buffer.h (+3/-3)
src/client/android/client_surface_interpreter.cpp (+10/-3)
src/client/android/client_surface_interpreter.h (+2/-2)
src/client/client_buffer.h (+2/-2)
src/client/lifecycle_control.cpp (+0/-2)
src/client/mir_client_library.cpp (+5/-0)
src/client/mir_connection.cpp (+14/-0)
src/client/rpc/mir_socket_rpc_channel.cpp (+18/-9)
src/client/rpc/mir_socket_rpc_channel.h (+1/-0)
src/server/compositor/default_display_buffer_compositor.cpp (+21/-0)
src/server/compositor/default_display_buffer_compositor.h (+0/-4)
src/server/compositor/temporary_buffers.cpp (+1/-1)
src/server/compositor/temporary_buffers.h (+1/-1)
src/server/default_server_configuration.cpp (+1/-1)
src/server/frontend/default_configuration.cpp (+2/-1)
src/server/graphics/android/android_alloc_adaptor.cpp (+3/-3)
src/server/graphics/android/android_alloc_adaptor.h (+1/-1)
src/server/graphics/android/android_buffer_allocator.cpp (+4/-1)
src/server/graphics/android/android_platform.cpp (+1/-0)
src/server/graphics/android/buffer.cpp (+36/-11)
src/server/graphics/android/buffer.h (+15/-3)
src/server/graphics/android/fb_swapper.h (+1/-1)
src/server/graphics/android/graphic_alloc_adaptor.h (+2/-3)
src/server/graphics/android/hwc11_device.cpp (+3/-2)
src/server/graphics/android/internal_client_window.cpp (+10/-4)
src/server/graphics/android/internal_client_window.h (+2/-1)
src/server/graphics/android/server_render_window.cpp (+16/-9)
src/server/graphics/android/server_render_window.h (+1/-5)
src/server/surfaces/surface.cpp (+1/-1)
src/server/surfaces/surface_data.h (+1/-1)
src/server/surfaces/surface_stack.cpp (+1/-1)
src/server/surfaces/surface_state.h (+1/-1)
src/shared/graphics/android/mir_native_buffer.cpp (+7/-7)
src/shared/graphics/android/mir_native_window.cpp (+9/-10)
src/shared/graphics/android/syncfence.cpp (+51/-14)
tests/acceptance-tests/CMakeLists.txt (+1/-0)
tests/acceptance-tests/test_server_disconnect.cpp (+93/-0)
tests/mir_test_doubles/CMakeLists.txt (+1/-0)
tests/mir_test_doubles/fake_event_hub.cpp (+432/-117)
tests/mir_test_doubles/stub_android_native_buffer.cpp (+35/-0)
tests/mir_test_framework/testing_client_options.cpp (+1/-1)
tests/mir_test_framework/testing_server_options.cpp (+3/-3)
tests/unit-tests/android_input/input_reader.cpp (+14/-419)
tests/unit-tests/client/android/test_android_native_window.cpp (+1/-8)
tests/unit-tests/client/android/test_client_surface_interpreter.cpp (+19/-27)
tests/unit-tests/client/test_aging_buffer.cpp (+1/-1)
tests/unit-tests/client/test_client_buffer_depository.cpp (+1/-1)
tests/unit-tests/client/test_client_mir_surface.cpp (+4/-3)
tests/unit-tests/frontend/test_published_socket_connector.cpp (+2/-4)
tests/unit-tests/graphics/android/CMakeLists.txt (+1/-0)
tests/unit-tests/graphics/android/test_android_platform.cpp (+10/-7)
tests/unit-tests/graphics/android/test_buffer.cpp (+61/-12)
tests/unit-tests/graphics/android/test_buffer_tex_bind.cpp (+36/-22)
tests/unit-tests/graphics/android/test_external_refcount.cpp (+7/-7)
tests/unit-tests/graphics/android/test_fb_device.cpp (+6/-6)
tests/unit-tests/graphics/android/test_hwc_layerlist.cpp (+29/-16)
tests/unit-tests/graphics/android/test_internal_client_interpreter.cpp (+12/-12)
tests/unit-tests/graphics/android/test_server_interpreter.cpp (+19/-21)
tests/unit-tests/graphics/android/test_sync_fence.cpp (+141/-0)
Changed in unity8: | |
status: | New → Confirmed |
Changed in mir: | |
status: | New → Confirmed |
tags: | added: rls-s-incoming |
Changed in mir: | |
importance: | High → Critical |
Changed in mir: | |
assignee: | nobody → Kevin DuBois (kdub) |
Changed in mir (Ubuntu): | |
importance: | High → Critical |
Changed in unity8: | |
importance: | High → Critical |
summary: |
- [mako] Unity8 on Mir got slow + [mako] Scrolling and animations are very slow with Mir |
tags: | added: nexus4 |
Changed in mir: | |
status: | Confirmed → In Progress |
summary: |
- [mako] Scrolling and animations are very slow with Mir + [regression] [mako] Scrolling and animations are very slow with Mir |
tags: | added: regression-proposed |
tags: |
added: regression-update removed: regression-proposed |
tags: | removed: regression-update |
Changed in mir: | |
milestone: | none → phone-v1-freeze |
Changed in mir: | |
milestone: | phone-v1-freeze → 0.0.15 |
Changed in mir: | |
status: | Fix Committed → Fix Released |
Changed in unity8: | |
status: | Confirmed → Invalid |
tags: | added: performance |
no longer affects: | unity8 |
Changed in unity8 (Ubuntu): | |
status: | New → Invalid |
Changed in unity8 (Ubuntu Saucy): | |
status: | New → Invalid |
Status changed to 'Confirmed' because the bug affects multiple users.