New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Bolt Core Renderer + Rendering Animation Performance Comparison #964
Conversation
…e test examples for comparison
…pt and tsx files (used in new performance rendering demo)
…ack — fixes issue with components using context not always having data available initially
…ow in addition to methods on other elements like before
⚡ PR built on Travis and deployed a now preview here:
|
⚡ PR built on Travis and deployed a now preview here:
|
@sghoweri, please resolve conflicts. |
@danielamorse all set resolving merge conflicts! |
⚡ PR built on Travis and deployed a now preview here:
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Building finished with no issues.
Video play buttons work as expected on the following pages in Chrome, FF, and Safari.
- http://localhost:3000/pattern-lab/?p=components-video-autoplay
- http://localhost:3000/pattern-lab/?p=components-video-show-meta-title-and-duration
- http://localhost:3000/pattern-lab/?p=components-video-w-inline-script-and-external-controls
Rendering demos worked as expected on the following pages (with and without throttling) in Chrome, FF, and Safari.
- http://localhost:3000/pattern-lab/?p=styleguide-bolt-lit-test
- http://localhost:3000/pattern-lab/?p=styleguide-bolt-preact-test
- http://localhost:3000/pattern-lab/?p=styleguide-lazy-lit-test
I noticed in Safari only this video did not auto-play:
http://localhost:3000/pattern-lab/?p=components-video-autoplay
While this one did:
http://localhost:3000/pattern-lab/?p=components-video-autoplay-and-loop-hide-controls
Same thing happens on Master, so it's not a new bug. Is this a known issue?
@danielamorse yeah - autoplay support is a mixed bag (especially on mobile). As long as the button component can trigger the video to start playing when clicked / tapped (which you confirmed), I’m good with moving forward with this. Thanks! |
Jira
N/A
Summary
Adds 3 new demos to Bolt to highlight major rendering performance differences + a potential new technique to help address issues with scale -- particularly necessary with upcoming animation work.
Details
This PR adds a performance rendering demo of a Sierpinski triangle implemented in both existing Bolt base components in comparison to potential performance gains by using Google's Lit Element + Lazy Lit Element POC.
This PR also updates a few things in the build tools related to getting these demos up and running:
.ts
, and.tsx
files in Bolt's local Webpack Build@bolt/core
click event handler util to allow toggling JavaScript methods that are on the window (vs only allowing methods that are on an element itself)@bolt/core
base component to no longer immediately trigger a component without any props to render (via theupdated()
method call) -- fixes a minor issue discovered with the new Context API additions in Bolt Release v2.2.0 #961 that can cause components using the newwithContext
functionality to have undefined values initially until the component finishes rendering.How to test
CC @mikemai2awesome @danielamorse @adam2661 -- particularly regarding the 3rd item above since I'm 99% sure Adam and I ran into this snag last week with the new List component work.