Home Web Front-end CSS Tutorial Explore the similarities, differences and applicable fields of reflow and redraw

Explore the similarities, differences and applicable fields of reflow and redraw

Jan 26, 2024 am 09:39 AM
Application scenarios reflow Redraw

Explore the similarities, differences and applicable fields of reflow and redraw

In-depth discussion of reflow and redraw: differences and application scenarios, specific code examples are required

Foreword:

In front-end development, reflow (reflow ) and repaint are common concepts. They are closely related to page rendering and are crucial for performance optimization. This article will delve into the differences between reflow and redraw and their application scenarios, and give specific code examples.

1. What is reflow?

Reflow refers to the process in which the browser recalculates and draws modified elements. When we change the style of an element (such as changing the width, height, and position), the browser will recalculate the geometric properties of the element and its sub-elements and re-render the page. This process is relatively performance-intensive.

Reflow will cause the calculation and layout of other elements, so its overhead is much greater than redrawing. Many times, we need to avoid frequent reflows to improve page performance.

2. What is repaint?

Redrawing refers to the browser redrawing the page based on the style information of the element, but does not change the geometric properties of the element. When we only modify the element's color, background and other styles that have nothing to do with geometric properties, the browser will only perform a redraw operation without reflowing.

The cost of redrawing is smaller because it only needs to redraw the displayed part and will not affect the layout of other elements. But too much redrawing will still have a certain impact on performance.

3. The difference between reflow and redraw

The biggest difference between reflow and redraw is the performance overhead and scope of impact.

Reflow is expensive: Reflow will cause the browser to recalculate and render elements, and the scope of impact is usually the entire page or part of the page. If the reflow operation is triggered frequently, the rendering performance of the page will decrease, or even the page will freeze.

The cost of redrawing is small: redrawing will only redraw the elements with modified styles, and will not cause the recalculation and layout of the page. Therefore, the overhead of redrawing is relatively small and has a small impact on the performance of the page.

4. Application scenarios of reflow and redraw

  1. Reduce reflow operations: During development, you should try to avoid triggering reflow operations frequently. You can reduce the occurrence of reflow through the following points:
  • Use the position attribute to replace top/left and other operations that change the position of the element. You can instead use transform: translate() to move the element. , the transform attribute will only trigger redraw but not reflow.
  • Avoid operating style attributes in a loop. You can use batch modification of styles to reduce the number of reflows.
  • To avoid obtaining element layout information when the page is loaded, you can use an asynchronous method to obtain layout information.

Specific code examples:

// 错误示例,频繁触发回流
for (let i = 0; i < 100; i++) {
  element.style.width = '200px';
  element.style.height = '200px';
  element.style.left = i * 10 + 'px';
}

// 正确示例,减少回流
element.style.position = 'absolute';
for (let i = 0; i < 100; i++) {
  element.style.transform = 'translateX(' + i * 10 + 'px)';
}
Copy after login
  1. Reasonable use of redraw operations: In some cases where only the style changes, redraw can be used to optimize performance.

Specific code examples:

// 错误示例,频繁触发回流
for (let i = 0; i < 100; i++) {
  element.style.backgroundColor = 'red';
}

// 正确示例,只触发重绘
for (let i = 0; i < 100; i++) {
  element.style.color = 'red';
}
Copy after login

Summary:

Reflow and redraw are common concepts in front-end development and are crucial to page performance optimization. The reflow overhead is larger and the redraw overhead is smaller. During development, you should try to avoid triggering reflow operations frequently and use redraw operations rationally to reduce performance overhead. The above is an in-depth discussion of the differences and application scenarios of reflow and redrawing. I hope it will be helpful to everyone's front-end development.

Reference:

  • [Why is reflow so slow](https://developers.google.com/web/fundamentals/performance/rendering/avoid-large-complex- layouts-and-layout-thrashing)

The above is the detailed content of Explore the similarities, differences and applicable fields of reflow and redraw. For more information, please follow other related articles on the PHP Chinese website!

Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

Is Ace Racing Post-Holiday Syndrome: The real experienced drivers have already begun to prepare for the Lantern Festival Is Ace Racing Post-Holiday Syndrome: The real experienced drivers have already begun to prepare for the Lantern Festival Feb 21, 2024 pm 06:04 PM

The Lantern Festival is coming soon. Ace Racing has specially prepared a Lantern Festival riddle guessing activity for everyone. If you guess the riddles and successfully answer 6 questions correctly, you can receive gold coin rewards. If you accumulate a certain number of riddles, you can also get generous rewards. Specific details Let’s take a look at the details of this event. Is Ace Racing Post-Holiday Syndrome: The real experienced drivers have already begun to prepare for the Lantern Festival. Hey, dear drivers, they all say that the Spring Festival is not the end until after the Lantern Festival. We welcome the lantern festival, eat glutinous rice balls, and set off fireworks...the Festival of Speed ​​is everywhere In the festive and lively atmosphere of the festival, Xili has also prepared some interesting lantern riddles that "only real experienced drivers" can get for everyone to warm up in advance. Let's guess together~ (PS: Drivers can go to today's public account Tweet to see the answer!) How about it, riders?

'Let's Go Muffin' starts a new linkage, and the line puppy style PV is announced 'Let's Go Muffin' starts a new linkage, and the line puppy style PV is announced Apr 28, 2024 pm 04:46 PM

Good news! The healing adventure-placement mobile game "Let's Go, Muffin" developed by Xindong has been officially announced - the game will launch a public beta of the national server on May 15th! Not only that, the first public beta of the national server will also be launched simultaneously on the day of the public beta. In collaboration with two IPs, Maifen officially launched the slogan "Puppy even with wheat, happy Say Hi!", and joined hands with the popular IP "Line Line Puppy" to bring everyone a different kind of healing! In order to welcome this linkage, Line Puppy official also A linkage PV was specially created using the simple style of a puppy with lines. We can see the game mascot Muffin, the cute white Maltese and the little golden retriever, having fun in the world of line muffins. They drove around in the RV, passed through layers of love, used rainbows as slides, went to the beach to dance, and defeated the terrifying black shadow in the middle of the night.

Meitu AI partial redrawing technology revealed! Change it however you want! Partial redrawing of beautiful pictures allows you to do whatever you want Meitu AI partial redrawing technology revealed! Change it however you want! Partial redrawing of beautiful pictures allows you to do whatever you want Mar 02, 2024 am 09:55 AM

Recently, the "AI image enlargement" function has caused a sensation with its sudden enlargement effect. Its funny and interesting auto-fill results have frequently become popular and set off a craze on the Internet. Users actively tried this feature, and its huge 180-degree transformation also made people marvel, and the popularity of the topic continued to rise. While arousing laughter and enthusiasm, it also means that people are constantly paying attention to whether AI can really help them solve real-world problems and improve user experience. With the rapid development of AIGC technology, AI application scenarios are accelerating to be implemented, which indicates that we will usher in a new productivity revolution. Recently, Meitu's WHEE and other products have launched AI image expansion and AI image modification functions. With simple prompt input, users can modify images at will.

'Collapsed Star Railroad' Mikhail Where Are You Going Achievement Guide 'Collapsed Star Railroad' Mikhail Where Are You Going Achievement Guide May 09, 2024 pm 09:20 PM

Collapse Star Dome Railway Where Are You Going Mikhail achievement guide. With the update to version 2.2 of Honkai Dome Railway, there are a lot of new content in the game that can be experienced. I believe that many friends have encountered some difficulties when completing the achievement "Where Are You Going, Mikhail?" I don’t know how to complete it, so today I will take you through the detailed process. Guide to the Collapsed Star Railroad Where Are You Going Mikhail 1. When we inherited the capabilities of the Tongtun Pioneers and solved the crisis in Sinokonni, everything settled and we returned to the top of Flowing Dream Reef. The transfer point is the one marked in the picture below; 2. After reaching it, go straight forward, look at Mikhail again, and investigate the balcony in front of him; 3. After completing the investigation, you can obtain the achievement Mikhail

The computer I spent 300 yuan to assemble successfully ran through the local large model The computer I spent 300 yuan to assemble successfully ran through the local large model Apr 12, 2024 am 08:07 AM

If 2023 is recognized as the first year of AI, then 2024 is likely to be a key year for the popularization of large AI models. In the past year, a large number of large AI models and a large number of AI applications have emerged. Manufacturers such as Meta and Google have also begun to launch their own online/local large models to the public, similar to "AI artificial intelligence" that is out of reach. The concept suddenly came to people. Nowadays, people are increasingly exposed to artificial intelligence in their lives. If you look carefully, you will find that almost all of the various AI applications you have access to are deployed on the "cloud". If you want to build a device that can run large models locally, then the hardware is a brand-new AIPC priced at more than 5,000 yuan. For ordinary people,

Is Android 12 smoother than Android 11? 'Performance comparison between the latest Android 12 and Android 11' Is Android 12 smoother than Android 11? 'Performance comparison between the latest Android 12 and Android 11' Feb 07, 2024 am 08:13 AM

Android 12 is a brand new system released by Google on May 19, 2021. It is the official iteration of Android 11 and is also the latest version of the current Android system. All major domestic mobile phone manufacturers will launch major releases from the end of this year to the beginning of next year. Large-scale push of major version updates based on Android 12. For example, the upcoming MIUI 13 has been confirmed to be based on Android 12 (some low-end models are based on Android 11). So what kind of improvements will Android 12 bring compared to Android 11? What changes are there for ordinary users? Let’s talk about them in this article. 01. UI changes. User perception intensity: Domestic user perception is relatively low. One of the biggest improvements in Android 12 comes from UI design, but since we may rarely see it in our country

Dogelon Mars Price Prediction 2024-2030 Dogelon Mars Price Prediction 2024-2030 Mar 22, 2024 pm 03:33 PM

ELON peaked at $0.0000005196 in 2023 and has been declining ever since. Our Dogelon Mars price prediction estimates the price by the end of 2024 at $0.0000001409. According to our Dogelon Mars price prediction for 2025, ELON is trading at $0.0000004709.

How to apply for QQ backup mailbox with QQ mailbox? How to apply for QQ backup mailbox with QQ mailbox How to apply for QQ backup mailbox with QQ mailbox? How to apply for QQ backup mailbox with QQ mailbox Mar 05, 2024 am 09:30 AM

The article brought to you today is about QQ mailbox software. Do you know how to apply for QQ backup mailbox with QQ mailbox? The following content brings you the method of applying for QQ backup mailbox with QQ mailbox. Let us take a look below. . After logging in to your QQ mailbox, you can look for an icon with a triangle logo on the homepage of your mailbox. If you can't find the icon, you can view detailed annotations on the image to help locate it. After finding it, click the 3-corner logo, and then click the Apply for Backup Email button. After clicking, we click the email account button in the upper right corner of the page that just came out. After clicking, we enter the new registration email name, password, mobile phone number and other operations and then click the registration button. After the registration is completed, we return to the email page just now and click on the box that just popped up to enter the account number.

See all articles