Closed Bug 1016483 Opened 10 years ago Closed 10 years ago

50ms Settings Startup Time Regression

Categories

(Firefox OS Graveyard :: Gaia::System::Window Mgmt, defect, P1)

ARM
Gonk (Firefox OS)
defect

Tracking

(Not tracked)

RESOLVED FIXED
2.0 S3 (6june)

People

(Reporter: mchang, Assigned: etienne)

References

Details

(Keywords: perf, regression, Whiteboard: [c=regression p=3 s= u=][systemsfe])

Attachments

(2 files)

We have a 50ms settings startup time regression with commit:

3bca75fd7ba78b687f5869e34e4ed998acf1c515
https://github.com/mozilla-b2g/gaia/commit/3bca75fd7ba78b687f5869e34e4ed998acf1c515

Commit before:
9c34f28aa8e11a0ac90fd2d150e5bfe6a05d3144
Results for Settings, cold_load_time: median:824, mean:827, std: 29, max:901, min:783, all:896,810,837,866,848,783,784,818,799,825,786,815,872,817,850,797,827,792,825,901,829,803,809,838,817,821,868,833,823,834

bad gaia - 3bca75fd7ba78b687f5869e34e4ed998acf1c515
Results for Settings, cold_load_time: median:858, mean:856, std: 25, max:896, min:812, all:859,871,833,825,889,819,870,840,872,820,878,839,854,858,832,847,816,812,828,896,874,831,879,849,864,895,876,879,891,894

Tested on Gecko mozilla-central: b5bdc1aaf378, tested on a Flame. I've been running start up tests every Gaia check in, and the mean went from ~820 to ~860 for startup on the settings app.
Attached patch Regression FixSplinter Review
Removing the will change and transform help with start up time here:

with changes
Results for Settings, cold_load_time: median:823, mean:825, std: 24, max:898, min:793, all:803,829,819,793,828,826,815,845,794,823,804,809,803,823,831,846,795,804,824,898,894,814,835,822,859,837,808,843,808,824

Results for Settings, cold_load_time: median:807, mean:816, std: 25, max:877, min:755, all:831,807,814,803,804,822,844,822,859,803,826,822,851,800,807,797,755,853,791,860,801,804,805,804,788,877,805,801,836,807

Etienne: Any reason you have both will-change and transform here? Or some other way around it? Thanks!
Flags: needinfo?(etienne)
(In reply to Mason Chang [:mchang] from comment #1)
> Etienne: Any reason you have both will-change and transform here? Or some
> other way around it? Thanks!

Yes, that's perfectly fine. As long as the transform will change. If we're not expecting that to happen near the startup then we can app will-change after startup.
Assignee: nobody → mchang
Whiteboard: [c=regression p= s= u=] → [c=regression p=3 s= u=]
Attached file PR
We keep moving this around :)
We reflow/repaint when we change it, causing various perf issues depending on *when* we change it.
(the proposed fixed is probably making the edge gestures pretty janky)

I'd like to keep it on the base .appWindow class since we know the transform will change.

But maybe we should take advantage of this fact and remove the expensive restyle caused by the #screen.edges class toggle. This is what this patch does, it should compensate the launch time regression.

Can you confirm this?
Attachment #8429978 - Flags: feedback?(mchang)
Flags: needinfo?(etienne)
Blocks: 1017247
Comment on attachment 8429978 [details] [review]
PR

Looks good, saves 50ms.

Settings tip - 0e46099b1f4b923f4734518e85e70f754428cf9e
Results for Settings, cold_load_time: median:1966, mean:1966, std: 28, max:2021, min:1854, all:1989,1960,1971,1949,1972,1854,1977,1964,1963,1949,1940,1990,1969,1993,1951,1966,2021,1982,1930,1997,1961,1980,2001,1954,1967,1960,1996,1953,1963,1981

Settings tip w/ fix:
Results for Settings, cold_load_time: median:1914, mean:1918, std: 36, max:2089, min:1880, all:1907,1918,1925,1936,1914,1920,1890,1910,1967,1880,1932,1913,1909,1901,1896,1899,1890,1917,1922,1918,1915,1909,1934,1933,2089,1903,1917,1886,1928,1890
Attachment #8429978 - Flags: feedback?(mchang) → feedback+
Keywords: regression
Blocks: 1003165
Comment on attachment 8429978 [details] [review]
PR

Cool, moving to review.
Attachment #8429978 - Flags: review?(21)
https://github.com/mozilla-b2g/gaia/commit/5cc10cfba8a4522ebb82b7aaf1a6cc5887b1b9fb
Status: ASSIGNED → RESOLVED
Closed: 10 years ago
Resolution: --- → FIXED
Depends on: 1018836
Update information to tell what's actually landed.
Assignee: mchang → etienne
Component: Gaia::Settings → Gaia::System::Window Mgmt
Whiteboard: [c=regression p=3 s= u=] → [c=regression p=3 s= u=][systemsfe]
See Also: → 1026240
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: