Bug 132486

Summary: Web Inspector: horizontally scrolling the timelines overview is slower as range selection grows
Product: WebKit Reporter: Brian Burg <burg>
Component: Web InspectorAssignee: Nobody <webkit-unassigned>
Status: NEW ---    
Severity: Normal CC: graouts, inspector-bugzilla-changes, simon.fraser, webkit-bug-importer
Priority: P2 Keywords: InRadar
Version: 528+ (Nightly build)   
Hardware: All   
OS: All   
URL: http://www.cnn.com
Description Flags
tile repaint counts - should show compositing layer none

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 1 Radar WebKit Bug Importer 2014-05-02 13:38:14 PDT
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

 * 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


 * horizontal scrolling speed shouldn't be affected by the size of the selection range.


 * as the selection becomes wider, horizontal scrolling has worse performance.

 * 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.