When a browser interprets the code of a page and converts the HTML, CSS and JavaScript into pixels, it performs what is called the pixel pipeline. It is a process that consists of 5 sequential steps :
At each step, the browser uses the result of the previous step to create new data. A non-composited animation is a rendering that forces the browser to go back to a previous step (JavaScript / CSS, Style, Paint and Layout) which increases the necessity of calculations and therefore the rendering time.
Non-composited animations may appear irregular when rendered by the browser on low-powered machines or when heavy tasks are executed at the same time. This lack of fluidity affects the visual perception of the page for users.
There are several reasons why an animation is not composited and to correct them it is necessary to intervene on the CSS rules in use :
For more information about the pixel pipeline and optimizing performance for rendering, check Google's documentation on rendering performance.