Year view is really slow
Bug #1222846 reported by
Michael Hall
This bug affects 3 people
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Ubuntu Calendar App |
Fix Released
|
High
|
Kunal Parmar |
Bug Description
The new Year view is very slow, we should look into either simplifying the design to reduce the number of components, or refactor the code to generate only what is immediately needed to display to the user.
Related branches
lp:~pkunal-parmar/ubuntu-calendar-app/YearView-Optimization
- Ubuntu Phone Apps Jenkins Bot: Approve (continuous-integration)
- Nicholas Skaggs (community): Needs Information
- Olivier Tilloy (community): Approve
-
Diff: 419 lines (+117/-59)11 files modifiedAllDayEventComponent.qml (+3/-0)
DayView.qml (+2/-1)
MonthComponent.qml (+83/-16)
MonthView.qml (+3/-5)
TimeLineBase.qml (+4/-0)
ViewHeader.qml (+5/-3)
WeekView.qml (+3/-3)
YearView.qml (+6/-22)
calendar.qml (+4/-5)
dateExt.js (+2/-2)
tests/autopilot/calendar_app/tests/test_yearview.py (+2/-2)
Changed in ubuntu-calendar-app: | |
status: | New → Confirmed |
Changed in ubuntu-calendar-app: | |
status: | Confirmed → Triaged |
importance: | Undecided → High |
Changed in ubuntu-calendar-app: | |
status: | Triaged → In Progress |
Changed in ubuntu-calendar-app: | |
status: | Fix Committed → Fix Released |
To post a comment you must log in.
I was debugging the issue, There seems two issue
1) Vertical scrolling is slow
2) Horizontal scrolling is not smooth, it's movement stops for sometime and then continue
For 1), it seems problem with Flickable element, vertical scrolling supported but it is tool slow and there is no acceleration and deceleration support, which make it seems slow. If you drag view manually rather then flicking, it scrolls just fine.
Same problem can be seen with WeekView and DayView when you scroll TimeLine, there is no acceleration. For YearView it's just more visible.
For 2), When we scroll horizontal, year changes, we do calculation to display dates for next year or previous year. As this are done in Main GUI thread. It hangs the GUI thread for sometime and then continue.
This does not affect the MonthView (Which uses same logic), so I guess reducing the number of month displayed in one view will help. But we need to confirmation from Design team if they are fine with it.