|Summary:||Web Inspector: horizontally scrolling the timelines overview is slower as range selection grows|
|Product:||WebKit||Reporter:||Brian Burg <burg>|
|Component:||Web Inspector||Assignee:||Nobody <webkit-unassigned>|
|Severity:||Normal||CC:||graouts, inspector-bugzilla-changes, simon.fraser, webkit-bug-importer|
|Version:||528+ (Nightly build)|
Description Brian Burg 2014-05-02 13:37:55 PDT
It appears that we don't layerize the overview, so the entire normal tile has to be repainted.
Comment 2 Brian Burg 2014-05-02 13:38:30 PDT
Created attachment 230691 [details] tile repaint counts - should show compositing layer
Comment 3 Brian Burg 2014-05-02 13:50:43 PDT
Also noticeably slower when the scrollbar overlay shows up (scroll with window focused) vs not (scroll when window inactive). I would prefer to ditch the scrollbar and paint our own ticker that shows the entire range and the currently visible subrange, if zoomed beyond 1x/showing everything.
Comment 4 Simon Fraser (smfr) 2014-05-02 13:53:06 PDT
We don't have any kind of accelerated overflow:scroll on OS X.
Comment 5 Timothy Hatcher 2014-05-05 11:27:36 PDT
Some of the slowness could be coming from our handling of scroll events (which are async) to update the rendered area of the overview graphs.
Comment 6 Brian Burg 2015-10-28 13:47:59 PDT
STEPS TO REPRODUCE: * Go to CNN.com * Open Inspector * Force-reload * Wait for auto-recording to stop (20s) * Open timelines panel * Zoom in on timelines overview (using wheel / trackpad) * scroll horizontally with wheel, trackpad, or dragging scrollbar * select a small range of the timeline, and scroll horizontally again EXPECTED: * horizontal scrolling speed shouldn't be affected by the size of the selection range. ACTUAL: * as the selection becomes wider, horizontal scrolling has worse performance. NOTES: * Maybe we are doing work we shouldn't be doing- that's O(records in range) - when the view range changes.
Comment 7 Timothy Hatcher 2015-12-09 16:23:08 PST
It could be the code in TimelineRecordBar.createCombinedBars, which has a comment: // FIXME: Do a binary search for records that fall inside start and current time.