Skip to content
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

Performance: Improve page rendering to 1sec #257

Closed
pftg opened this issue Mar 30, 2018 · 9 comments
Closed

Performance: Improve page rendering to 1sec #257

pftg opened this issue Mar 30, 2018 · 9 comments

Comments

@pftg
Copy link
Member

pftg commented Mar 30, 2018

Ref: https://developers.google.com/web/tools/lighthouse/audits/first-interactive

@pftg
Copy link
Member Author

pftg commented Apr 17, 2018

@andriyParashchuk could you produce list of changes which we should do in order to achieve this? Some examples:

  1. https://cl.ly/3G421b3I2w2O/Image%202018-04-17%20at%2016.09.34.public.png
  2. https://cl.ly/280P1Z3I0K3Z/Image%202018-04-17%20at%2016.11.17.public.png

@andriyParashchuk
Copy link
Contributor

  • CSS rules
    Remove unused rules from stylesheets to reduce unnecessary bytes consumed by network activity.
    image
    Learn more

  • Prioritize visible content
    If the amount of data required exceeds the initial congestion window (typically 14.6kB compressed), it will require additional round trips between your server and the user’s browser. For users on networks with high latencies such as mobile networks this can cause significant delays to page loading.
    image
    To make pages load faster, limit the size of the data (HTML markup, images, CSS, JavaScript) that is needed to render the above-the-fold content of your page. There are several ways to do this:

  1. Structure your HTML to load the critical, above-the-fold content first
  2. Reduce the amount of data used by your resources
  • Offscreen images
    Offscreen images are images that appear below the fold. Since users can't see offscreen images when they load a page, there's no reason to download the offscreen images as part of the initial page load. In other words, deferring the load of offscreen images can speed up page load time and time to interactive.
    Recomendation: Consider lazy-loading offscreen images to improve page load speed and time to interactive. For more details see: Lazy loading Images and Video.

  • Serve images in next-gen formats
    JPEG 2000, JPEG XR, and WebP are image formats that have superior compression and quality characteristics compared to their older JPEG and PNG counterparts. Encoding your images in these formats rather than JPEG or PNG means that they will load faster and consume less cellular data.
    WebP is supported in Chrome and Opera and provides better lossy and lossless compression for images on the web. See A New Image Format For The Web for more on WebP.
    image

  • JavaScript boot-up time is too high
    Check this out:
    JavaScript Start-up Optimization
    Loading Third-Party JavaScript
    image

  • Enable compression
    All modern browsers support and automatically negotiate gzip compression for all HTTP requests. Enabling gzip compression can reduce the size of the transferred response by up to 90%, which can significantly reduce the amount of time to download the resource, reduce data usage for the client, and improve the time to first render of your pages. See text compression with GZIP to learn more.
    image

  • Eliminating Unnecessary Downloads
    Inventory your own assets and third-party assets on your pages.
    Measure the performance of each asset: its value and its technical performance.
    Determine if the resources are providing sufficient value.
    Eliminate it if it needed.

  • Critical Request Chains
    The Critical Request Chain is a concept from the Critical Rendering Path (CRP) optimization strategy. CRP enables the browser to load a page as quickly as possible by prioritizing which resources get loaded and the order in which they load.
    image

@jetthoughts jetthoughts deleted a comment from pftg Apr 24, 2018
@pftg pftg changed the title Performance: The First Interactive metric measures when a page is minimally interactive Performance: Improve page rendering to 1sec Apr 26, 2018
@pftg
Copy link
Member Author

pftg commented Apr 26, 2018

Will be great to compare our structure with https://github.com/jetthoughts/jetthoughts.github.io/issues/281

@pftg
Copy link
Member Author

pftg commented Apr 27, 2018

@pftg
Copy link
Member Author

pftg commented Apr 28, 2018

@pftg
Copy link
Member Author

pftg commented Apr 29, 2018

Reached goal, need to split left part and schedule it on later

@pftg
Copy link
Member Author

pftg commented May 10, 2018

@obliviusm please close this after you have verified all issues and move not fixed one into new one

@obliviusm
Copy link
Contributor

ok. @sweatC is doing this

@sweatC
Copy link
Contributor

sweatC commented May 10, 2018

This issue is closed because of following our Roadmap.
A list of tasks moved into https://github.com/jetthoughts/jetthoughts.github.io/issues/302 and plan to be done in the next iteration.

@sweatC sweatC closed this as completed May 10, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants