WebKit Bugzilla
New
Browse
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
RESOLVED FIXED
200406
[results.webkit.org Timeline] Performance improvements
https://bugs.webkit.org/show_bug.cgi?id=200406
Summary
[results.webkit.org Timeline] Performance improvements
Zhifei Fang
Reported
2019-08-02 14:35:37 PDT
Unhook the scroll event when a series/axis have been removed from the container This will limit the number of event fired and actually destroy all the series and axis that have been removed from the container.
Attachments
Patch
(15.84 KB, patch)
2019-08-02 14:36 PDT
,
Zhifei Fang
no flags
Details
Formatted Diff
Diff
Patch
(16.73 KB, patch)
2019-08-02 16:18 PDT
,
Zhifei Fang
no flags
Details
Formatted Diff
Diff
Patch
(16.31 KB, patch)
2019-08-02 19:11 PDT
,
Zhifei Fang
no flags
Details
Formatted Diff
Diff
Patch
(20.60 KB, patch)
2019-08-05 16:43 PDT
,
Zhifei Fang
no flags
Details
Formatted Diff
Diff
Patch
(20.88 KB, patch)
2019-08-05 18:43 PDT
,
Zhifei Fang
no flags
Details
Formatted Diff
Diff
Patch
(21.20 KB, patch)
2019-08-06 10:31 PDT
,
Zhifei Fang
no flags
Details
Formatted Diff
Diff
Patch
(21.22 KB, patch)
2019-08-06 10:33 PDT
,
Zhifei Fang
no flags
Details
Formatted Diff
Diff
Show Obsolete
(6)
View All
Add attachment
proposed patch, testcase, etc.
Zhifei Fang
Comment 1
2019-08-02 14:36:18 PDT
Created
attachment 375458
[details]
Patch
Jonathan Bedard
Comment 2
2019-08-02 15:59:53 PDT
Comment on
attachment 375458
[details]
Patch View in context:
https://bugs.webkit.org/attachment.cgi?id=375458&action=review
> Tools/ChangeLog:8 > + * resultsdbpy/resultsdbpy/view/static/library/js/Ref.js:
We need some comments here.
Zhifei Fang
Comment 3
2019-08-02 16:18:26 PDT
Created
attachment 375465
[details]
Patch
Zhifei Fang
Comment 4
2019-08-02 19:11:08 PDT
Created
attachment 375474
[details]
Patch
Jonathan Bedard
Comment 5
2019-08-05 09:48:57 PDT
Comment on
attachment 375465
[details]
Patch View in context:
https://bugs.webkit.org/attachment.cgi?id=375465&action=review
> Tools/resultsdbpy/resultsdbpy/view/static/library/js/components/TimelineComponents.js:620 > + console.log(stateDiff);
Do you intend to land this logging statement?
Zhifei Fang
Comment 6
2019-08-05 16:43:51 PDT
Created
attachment 375583
[details]
Patch
Jonathan Bedard
Comment 7
2019-08-05 17:21:15 PDT
Comment on
attachment 375583
[details]
Patch View in context:
https://bugs.webkit.org/attachment.cgi?id=375583&action=review
Along with fixing a few pretty clear correctness bugs, this patch has a HUGE impact on memory usage of timelines, particularly large ones. I've observed about 5x in some cases, probably 2 or 3x on average.
> Tools/resultsdbpy/resultsdbpy/view/static/library/js/Utils.js:69 > +// Check more about Intersection observer API
I would put this in one-line: // Uses intersection observer: <
https://developer.mozilla.org/en-US/docs/Web/API/Intersection_Observer_API
>
> Tools/resultsdbpy/resultsdbpy/view/static/library/js/components/TimelineComponents.js:380 > + // We do nothing for those off screen ones
Comment is duplicating what the code says, just remove it. How would the element be on screen but the stateDiff not?
> Tools/resultsdbpy/resultsdbpy/view/static/library/js/components/TimelineComponents.js:763 > + // In case of modification white rendering
Nit: while rendering
Zhifei Fang
Comment 8
2019-08-05 18:15:06 PDT
(In reply to Jonathan Bedard from
comment #7
)
> Comment on
attachment 375583
[details]
> Patch > > View in context: >
https://bugs.webkit.org/attachment.cgi?id=375583&action=review
> > Along with fixing a few pretty clear correctness bugs, this patch has a HUGE > impact on memory usage of timelines, particularly large ones. I've observed > about 5x in some cases, probably 2 or 3x on average. > > > Tools/resultsdbpy/resultsdbpy/view/static/library/js/Utils.js:69 > > +// Check more about Intersection observer API > > I would put this in one-line: > > // Uses intersection observer: > <
https://developer.mozilla.org/en-US/docs/Web/API/Intersection_Observer_API
> > > > Tools/resultsdbpy/resultsdbpy/view/static/library/js/components/TimelineComponents.js:380 > > + // We do nothing for those off screen ones > > Comment is duplicating what the code says, just remove it. > > How would the element be on screen but the stateDiff not?
stateDiff is a diff, when we already set onScreen to true, it will always be true in the state, unless we want to set it to false.
> > > Tools/resultsdbpy/resultsdbpy/view/static/library/js/components/TimelineComponents.js:763 > > + // In case of modification white rendering > > Nit: while rendering
Zhifei Fang
Comment 9
2019-08-05 18:19:59 PDT
Just change the title, this patch now include multiple performance improvements for the canvas timeline. 1. Unhook the scroll event when a series/axis have been removed from the container 2. Fix the axis's cache date structure out of sync. 3. Use position:sticky to reduce the blink when update the transform 4. Use intersection observer to detect if the canvas on screen or not, if a canvas is not on the screen, we do nothing, this will eliminate render requests we send out.
Zhifei Fang
Comment 10
2019-08-05 18:43:19 PDT
Created
attachment 375592
[details]
Patch
Jonathan Bedard
Comment 11
2019-08-06 08:12:16 PDT
Comment on
attachment 375592
[details]
Patch View in context:
https://bugs.webkit.org/attachment.cgi?id=375592&action=review
> Tools/ChangeLog:10 > + Reviewed by NOBODY (OOPS!).
WebKit does: <change title> <bug URL> Reviewed by <Reviewer>. <change details> ----- So can we move the numbered list under the 'Reviewed by' line?
Zhifei Fang
Comment 12
2019-08-06 10:31:50 PDT
Created
attachment 375630
[details]
Patch
Zhifei Fang
Comment 13
2019-08-06 10:33:48 PDT
Created
attachment 375631
[details]
Patch
WebKit Commit Bot
Comment 14
2019-08-06 10:57:03 PDT
Comment on
attachment 375631
[details]
Patch Clearing flags on attachment: 375631 Committed
r248305
: <
https://trac.webkit.org/changeset/248305
>
WebKit Commit Bot
Comment 15
2019-08-06 10:57:05 PDT
All reviewed patches have been landed. Closing bug.
Radar WebKit Bug Importer
Comment 16
2019-08-06 10:58:15 PDT
<
rdar://problem/53993566
>
Note
You need to
log in
before you can comment on or make changes to this bug.
Top of Page
Format For Printing
XML
Clone This Bug