Issue metadata
Sign in to add a comment
|
Keyboard shortcut viewer: startup is costly |
||||||||||||||||||||||||
Issue descriptionAttached is a trace for starting up the keyboard-shortcut-viewer. Look specifically at the 'Service: shortcut_viewer_app' process. The initial views::Widget set up (in Widget::Init()) takes ~490ms, and the following first paint takes ~25ms, followed by another ~50ms of raster. Some interesting observations: . RenderTextHarfBuzz:EnsureLayoutRunList() gets called ~3000 times during Widget::Init(). . View::Layout(bounds_changed) gets called ~2400 times. . RenderTextHarfBuzz:EnsureLayoutRunList() is called twice before Widget::Init(), each of which takes 20+ms (I assume during KeyboardShortcutView::InitViews()). This seems unnaturally expensive. We should probably look into optimizing the views layout code. I am not familiar with RenderTextHarfBuzz or other parts of text-layout code, but perhaps something could be improved there too? cc'ing some chromeos UI folks, other people who are working on related issues (e.g. issue 835983 , issue 858944 etc.)
,
Jul 19
I believe an easy fix that was talked about it to only create views for the things that are visible.
,
Jul 19
,
Jul 19
lgrey@: KeyboardShortcutView is using StyledLabel, which will create many children Labels. |
|||||||||||||||||||||||||
►
Sign in to add a comment |
|||||||||||||||||||||||||
Comment 1 by lgrey@chromium.org
, Jul 19