--- category: Unified tags: [auto-consolidated, technical-documentation] title: [[Layout Thrashing|Layout Thrashing]] last_updated: 2026-05-02 --- # [[Layout Thrashing|Layout Thrashing]] ## ๐Ÿ“Œ Brief Summary ๋ ˆ์ด์•„์›ƒ ์Šค๋ž˜์‹ฑ(Layout Thrashing)์€ ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ํŽ˜์ด์ง€์˜ ๊ตฌ์กฐ๋ฅผ ๋‹ค์‹œ ๊ณ„์‚ฐํ•ด์•ผ ํ•˜๋Š” ๋ฆฌํ”Œ๋กœ์šฐ(Reflow)์™€ ๋ฆฌํŽ˜์ธํŠธ(Repaint)๋ฅผ ๊ณผ๋„ํ•˜๊ฒŒ ๋ฐ˜๋ณตํ•  ๋•Œ ๋ฐœ์ƒํ•˜๋Š” ์„ฑ๋Šฅ ๋ณ‘๋ชฉ ํ˜„์ƒ์ž…๋‹ˆ๋‹ค [1, 2]. ์ฃผ๋กœ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๊ฐ€ DOM์„ ์ฝ๊ณ  ์“ฐ๋Š” ์ž‘์—…์„ ์ข์€ ๋ฃจํ”„ ์•ˆ์—์„œ ๋ฒˆ๊ฐˆ์•„ ์ˆ˜ํ–‰ํ•˜๊ฑฐ๋‚˜ ๋ ˆ์ด์•„์›ƒ์— ํฐ ์˜ํ–ฅ์„ ๋ฏธ์น˜๋Š” CSS ์†์„ฑ์„ ์• ๋‹ˆ๋ฉ”์ด์…˜ํ™”ํ•  ๋•Œ ์œ ๋ฐœ๋ฉ๋‹ˆ๋‹ค [1, 2]. ์ด ํ˜„์ƒ์€ ํ”„๋ ˆ์ž„ ์†๋„๋ฅผ ์‹ฌ๊ฐํ•˜๊ฒŒ ์ €ํ•˜์‹œํ‚ค๊ณ  ์• ๋‹ˆ๋ฉ”์ด์…˜์„ ๋Š๊ธฐ๊ฒŒ ๋งŒ๋“ค์–ด ์ „๋ฐ˜์ ์ธ ์‚ฌ์šฉ์ž ๊ฒฝํ—˜์„ ํ›ผ์†ํ•ฉ๋‹ˆ๋‹ค [1, 2]. --- ๋ ˆ์ด์•„์›ƒ ์Šค๋ž˜์‹ฑ(Layout Thrashing)์€ ์Šคํฌ๋ฆฝํŠธ๊ฐ€ DOM์„ ์ฝ๊ณ  ์“ฐ๋Š” ์ž‘์—…์„ ์งง๊ณ  ๋ฐ˜๋ณต์ ์ธ ๋ฃจํ”„ ๋‚ด์—์„œ ๊ต๋Œ€๋กœ ์ˆ˜ํ–‰ํ•  ๋•Œ ๋ฐœ์ƒํ•˜๋Š” ์‹ฌ๊ฐํ•œ ์„ฑ๋Šฅ ๋ณ‘๋ชฉ ํ˜„์ƒ์ž…๋‹ˆ๋‹ค [1]. ์ฃผ๋กœ `offsetWidth`๋‚˜ `offsetHeight` ๊ฐ™์€ ๊ธฐํ•˜ํ•™์  ์†์„ฑ์„ ์ฝ์„ ๋•Œ ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ์ •ํ™•ํ•œ ํฌ๊ธฐ๋ฅผ ์ œ๊ณตํ•˜๊ธฐ ์œ„ํ•ด ๋‚ด๋ถ€ ๋ ˆ์ด์•„์›ƒ ํ๋ฅผ ๊ฐ•์ œ๋กœ ๋น„์šฐ๊ณ  ๋™๊ธฐ์  ๋ฆฌํ”Œ๋กœ์šฐ(Reflow)๋ฅผ ์‹คํ–‰ํ•˜๋ฉด์„œ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค [1]. ์ด ํ˜„์ƒ์€ ๋ธŒ๋ผ์šฐ์ €์˜ ๋ Œ๋”๋ง ํ”„๋ ˆ์ž„ ์†๋„๋ฅผ ํฌ๊ฒŒ ์ €ํ•˜์‹œํ‚ค๋ฉฐ, ๊ฒฐ๊ณผ์ ์œผ๋กœ ์• ๋‹ˆ๋ฉ”์ด์…˜์ด ๋Š๊ธฐ๊ฑฐ๋‚˜ ์›นํŽ˜์ด์ง€๊ฐ€ ๋А๋ฆฌ๊ฒŒ ๋ฐ˜์‘ํ•˜๋„๋ก ๋งŒ๋“ญ๋‹ˆ๋‹ค [1, 2]. ## ๐Ÿ“– Core Content **๋ฐœ์ƒ ์›์ธ** * **DOM ์ฝ๊ธฐ/์“ฐ๊ธฐ์˜ ๋ฐ˜๋ณต**: ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์Šคํฌ๋ฆฝํŠธ๊ฐ€ ์ข์€ ๋ฃจํ”„ ๋‚ด์—์„œ DOM ์†์„ฑ์— ๋Œ€ํ•œ ์ฝ๊ธฐ์™€ ์“ฐ๊ธฐ๋ฅผ ๋ฒˆ๊ฐˆ์•„ ์ˆ˜ํ–‰ํ•  ๋•Œ ํ”ํžˆ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค [2, 3]. ์˜ˆ๋ฅผ ๋“ค์–ด `offsetWidth`๋‚˜ `offsetHeight` ๊ฐ™์€ ํฌ๊ธฐ ๊ด€๋ จ ์†์„ฑ์„ ์ฝ์„ ๋•Œ, ๋ธŒ๋ผ์šฐ์ €๋Š” ์ •ํ™•ํ•œ ์น˜์ˆ˜๋ฅผ ์ œ๊ณตํ•˜๊ธฐ ์œ„ํ•ด ๋‚ด๋ถ€ ๋ ˆ์ด์•„์›ƒ ํ(Queue)๋ฅผ ๊ฐ•์ œ๋กœ ๋น„์šฐ๊ณ  ๋™๊ธฐ์  ๋ฆฌํ”Œ๋กœ์šฐ(Synchronous reflow)๋ฅผ ์ˆ˜ํ–‰ํ•ด์•ผ ํ•˜๋ฏ€๋กœ ํ”„๋ ˆ์ž„ ์†๋„์— ์•…์˜ํ–ฅ์„ ๋ฏธ์นฉ๋‹ˆ๋‹ค [2]. * **๋ฌด๊ฑฐ์šด ๋ ˆ์ด์•„์›ƒ ์†์„ฑ ๋ณ€๊ฒฝ**: `width`, `height`, `margin`, `padding`, `left/top/right/bottom`๊ณผ ๊ฐ™์ด ๊ธฐํ•˜ํ•™์  ํ˜•ํƒœ๋‚˜ ๋ ˆ์ด์•„์›ƒ์— ์ง์ ‘์ ์ธ ์˜ํ–ฅ์„ ์ฃผ๋Š” ์†์„ฑ์„ ์• ๋‹ˆ๋ฉ”์ด์…˜ ์ฒ˜๋ฆฌํ•˜๋ฉด ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ๋ ˆ์ด์•„์›ƒ์„ ์ง€์†์ ์œผ๋กœ ์žฌ๊ณ„์‚ฐํ•˜๊ฒŒ ๋˜์–ด ๋ ˆ์ด์•„์›ƒ ์Šค๋ž˜์‹ฑ์„ ์œ ๋ฐœํ•ฉ๋‹ˆ๋‹ค [1, 4, 5]. **์ตœ์ ํ™” ๋ฐ ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•** * **DOM ์ฝ๊ธฐ์™€ ์“ฐ๊ธฐ ๋ถ„๋ฆฌ**: ๋ ˆ์ด์•„์›ƒ ์Šค๋ž˜์‹ฑ์„ ๋ฐฉ์ง€ํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” DOM ๊ฐ’์„ ์ฝ๋Š” ์ž‘์—…(Read)๊ณผ ์“ฐ๋Š” ์ž‘์—…(Write)์„ ์—„๊ฒฉํžˆ ๋ถ„๋ฆฌํ•˜์—ฌ ์ˆ˜ํ–‰ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค [3]. * **DOM ๋ณ€๊ฒฝ ์ผ๊ด„ ์ฒ˜๋ฆฌ([[Batching|Batching]])**: ๋‹ค์ˆ˜์˜ DOM ๋ณ€๊ฒฝ์„ ํ•œ ๋ฒˆ์— ๋ฌถ์–ด ์ฒ˜๋ฆฌํ•˜๋ฉด ๋ฆฌํ”Œ๋กœ์šฐ์™€ ๋ฆฌํŽ˜์ธํŠธ๋ฅผ ์ค„์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค [2, 6]. `classList.add()`๋‚˜ `cssText`๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋‹จ ํ•œ ๋ฒˆ์˜ ๋ Œ๋”๋ง ์ฃผ๊ธฐ๋งŒ ์œ ๋ฐœํ•˜๊ฑฐ๋‚˜ `innerHTML`์„ ์‚ฌ์šฉํ•˜์—ฌ ์—ฌ๋Ÿฌ ์š”์†Œ๋ฅผ ๋™์‹œ์— ์—…๋ฐ์ดํŠธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค [2, 6]. * **๊ฐ€์ƒ DOM ํ™œ์šฉ**: ์ƒˆ๋กœ์šด ์š”์†Œ๋ฅผ ๋ผ์ด๋ธŒ DOM์— ์ง์ ‘ ์ถ”๊ฐ€ํ•˜๊ธฐ ์ „์— `DocumentFragment`๋ฅผ ํ™œ์šฉํ•˜์—ฌ ์ถ”๊ฐ€ํ•˜๊ฑฐ๋‚˜, ๋…ธ๋“œ๋ฅผ ๋ณต์ œํ•˜์—ฌ ๋ณ€๊ฒฝํ•œ ํ›„ ์›๋ณธ๊ณผ ๊ต์ฒดํ•˜๋Š” ๋ฐฉ์‹์„ ์“ฐ๋ฉด ์š”์†Œ๋‹น ํ•œ ๋ฒˆ์”ฉ ์ผ์–ด๋‚  ๋ฆฌํ”Œ๋กœ์šฐ๋ฅผ ๋‹จ ํ•œ ๋ฒˆ์œผ๋กœ ์ค„์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค [2, 6, 7]. * **์• ๋‹ˆ๋ฉ”์ด์…˜ ์†์„ฑ ๋Œ€์ฒด**: ์• ๋‹ˆ๋ฉ”์ด์…˜์„ ๊ตฌํ˜„ํ•  ๋•Œ๋Š” ๋ ˆ์ด์•„์›ƒ์„ ๋ณ€๊ฒฝํ•˜๋Š” ์†์„ฑ ๋Œ€์‹  GPU ๊ฐ€์†์˜ ์ด์ ์„ ์–ป์„ ์ˆ˜ ์žˆ๋Š” `transform`๊ณผ `opacity` ์†์„ฑ์„ ์‚ฌ์šฉํ•˜์—ฌ ๋ฆฌํ”Œ๋กœ์šฐ ๋ฐœ์ƒ์„ ํ”ผํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค [5, 8, 9]. ๋˜ํ•œ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๊ธฐ๋ฐ˜ ์• ๋‹ˆ๋ฉ”์ด์…˜์—์„œ๋Š” `requestAnimationFrame`์„ ์‚ฌ์šฉํ•˜์—ฌ ๋ธŒ๋ผ์šฐ์ €์˜ ๋„ค์ดํ‹ฐ๋ธŒ ๋ฆฌํŽ˜์ธํŠธ ์ฃผ๊ธฐ์™€ ๋™๊ธฐํ™”์‹œํ‚ด์œผ๋กœ์จ ๋Š๊น€ ์—†๋Š” ๋ชจ์…˜์„ ๊ตฌํ˜„ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค [2, 3, 6]. * **์Šคํƒ€์ผ ์ ์šฉ ๋ฐฉ์‹ ์ตœ์ ํ™”**: ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋กœ ์ง์ ‘ ์ธ๋ผ์ธ ์Šคํƒ€์ผ์„ ์กฐ์ž‘ํ•˜๊ธฐ๋ณด๋‹ค๋Š” CSS ํด๋ž˜์Šค๋ฅผ ์ถ”๊ฐ€/์ œ๊ฑฐํ•˜๋Š” ๋ฐฉ์‹์„ ์‚ฌ์šฉํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค [6]. ๋ Œ๋”๋ง ์†๋„๋ฅผ ๋Šฆ์ถ”๋Š” ๊นŠ๊ณ  ๋ณต์žกํ•œ CSS ์„ ํƒ์ž์˜ ์‚ฌ์šฉ์„ ํ”ผํ•˜๊ณ , ์ž์ฃผ ๋ณ€๊ฒฝ๋  ์š”์†Œ์—๋Š” `will-change` ์†์„ฑ์„ ํ†ตํ•ด ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ๋ฏธ๋ฆฌ ๋ Œ๋”๋ง์„ ์ตœ์ ํ™”ํ•  ์ˆ˜ ์žˆ๋Š” ํžŒํŠธ๋ฅผ ์ œ๊ณตํ•˜๋Š” ๊ฒƒ๋„ ๋ฐฉ๋ฒ•์ž…๋‹ˆ๋‹ค [3, 6, 10]. --- * **๋ฐœ์ƒ ๋ฉ”์ปค๋‹ˆ์ฆ˜** * ์Šคํฌ๋ฆฝํŠธ๊ฐ€ DOM์— ๋Œ€ํ•œ ์ฝ๊ธฐ ๋ฐ ์“ฐ๊ธฐ ์ž‘์—…์„ ์ด˜์ด˜ํ•œ ๋ฃจํ”„ ์•ˆ์—์„œ ๋ฒˆ๊ฐˆ์•„ ๊ฐ€๋ฉฐ ์‹คํ–‰ํ•  ๋•Œ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค [1]. * ์Šคํฌ๋ฆฝํŠธ๊ฐ€ ์š”์†Œ์˜ `offsetWidth`๋‚˜ `offsetHeight` ๋“ฑ์„ ์ฝ์–ด ๋“ค์ผ ๋•Œ, ๋ธŒ๋ผ์šฐ์ €๋Š” ์ •ํ™•ํ•œ ์น˜์ˆ˜๋ฅผ ๋ฐ˜ํ™˜ํ•˜๊ธฐ ์œ„ํ•ด ์ง€์—ฐ๋œ ๋ ˆ์ด์•„์›ƒ ์ž‘์—…๋“ค์„ ๊ฐ•์ œ๋กœ ์‹คํ–‰ํ•˜๋Š” '๋™๊ธฐ์  ๋ฆฌํ”Œ๋กœ์šฐ(Synchronous Reflow)'๋ฅผ ์œ ๋ฐœํ•ฉ๋‹ˆ๋‹ค [1]. * ๋„ˆ๋น„(width), ๋†’์ด(height), ์—ฌ๋ฐฑ(margin), ์œ„์น˜(left/top/right/bottom) ๋“ฑ ๋ ˆ์ด์•„์›ƒ์— ํฐ ์˜ํ–ฅ์„ ๋ฏธ์น˜๋Š” CSS ์†์„ฑ์„ ์• ๋‹ˆ๋ฉ”์ด์…˜์œผ๋กœ ์ฒ˜๋ฆฌํ•  ๋•Œ๋„ ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ๋ ˆ์ด์•„์›ƒ์„ ๋‹ค์‹œ ๊ณ„์‚ฐํ•˜๊ฒŒ ๋˜์–ด ๋ ˆ์ด์•„์›ƒ ์Šค๋ž˜์‹ฑ๊ณผ ๋ฆฌํŽ˜์ธํŠธ(Repaint) ์‚ฌ์ดํด์ด ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค [2]. * **์„ฑ๋Šฅ์— ๋ฏธ์น˜๋Š” ์˜ํ–ฅ** * ๋ธŒ๋ผ์šฐ์ €์˜ ์ดˆ๋‹น ํ”„๋ ˆ์ž„ ์ˆ˜(FPS)๋ฅผ ๊ธ‰๊ฒฉํžˆ ๋–จ์–ด๋œจ๋ ค ์„ฑ๋Šฅ์— ์น˜๋ช…์ ์ธ ์˜ํ–ฅ์„ ๋ฏธ์นฉ๋‹ˆ๋‹ค [1]. * ํŠนํžˆ ๋ชจ๋ฐ”์ผ์ด๋‚˜ ์ €์‚ฌ์–‘ ๊ธฐ๊ธฐ์—์„œ๋Š” ์• ๋‹ˆ๋ฉ”์ด์…˜์ด ๋Š๊ธฐ๊ณ (Janky) ๋ฒ„๋ฒ…๊ฑฐ๋ฆฌ๋Š” ๋А๋‚Œ์„ ์ฃผ์–ด ์‚ฌ์šฉ์ž ๊ฒฝํ—˜์„ ์‹ฌ๊ฐํ•˜๊ฒŒ ํ›ผ์†ํ•ฉ๋‹ˆ๋‹ค [2]. * **ํ•ด๊ฒฐ ๋ฐ ๋ฐฉ์ง€ ๊ธฐ๋ฒ• (์ตœ์ ํ™” ์ „๋žต)** * **DOM ์ฝ๊ธฐ/์“ฐ๊ธฐ ๋ถ„๋ฆฌ ๋ฐ ์ผ๊ด„ ์ฒ˜๋ฆฌ([[Batching|Batching]])**: DOM์— ๋Œ€ํ•œ ์ฝ๊ธฐ์™€ ์“ฐ๊ธฐ ์ž‘์—…์„ ๋ถ„๋ฆฌํ•˜์—ฌ ๋ ˆ์ด์•„์›ƒ ์Šค๋ž˜์‹ฑ์„ ๋ฐฉ์ง€ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค [3]. `classList.add()`๋‚˜ `cssText`๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์—ฌ๋Ÿฌ ์Šคํƒ€์ผ ์—…๋ฐ์ดํŠธ๋ฅผ ๋‹จ์ผ ๋ Œ๋”๋ง ์ฃผ๊ธฐ๋กœ ๊ทธ๋ฃนํ™”(Batch)ํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค [1, 4]. * **DocumentFragment ์‚ฌ์šฉ**: ์ƒˆ๋กœ์šด ์š”์†Œ๋ฅผ ์‹ค์‹œ๊ฐ„ DOM์— ๋ฐ”๋กœ ์ถ”๊ฐ€ํ•˜์ง€ ์•Š๊ณ  `documentFragment`์— ๋จผ์ € ์ถ”๊ฐ€ํ•œ ๋’ค ๋ผ์ด๋ธŒ DOM์— ํ•œ ๋ฒˆ์— ๋ฐ˜์˜ํ•จ์œผ๋กœ์จ ๋ฆฌํ”Œ๋กœ์šฐ ๋ฐœ์ƒ์„ ์š”์†Œ๋‹น 1ํšŒ๋กœ ์ตœ์†Œํ™”ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค [1]. * **requestAnimationFrame ํ™œ์šฉ**: [[JavaScript|JavaScript]]๋กœ ๊ตฌ๋™๋˜๋Š” ์• ๋‹ˆ๋ฉ”์ด์…˜์ด๋‚˜ DOM ์—…๋ฐ์ดํŠธ๋ฅผ ๋ธŒ๋ผ์šฐ์ €์˜ ๊ธฐ๋ณธ ๋ฆฌํŽ˜์ธํŠธ ์ฃผ๊ธฐ์™€ ๋™๊ธฐํ™”(`requestAnimationFrame` ์‚ฌ์šฉ)ํ•˜์—ฌ ํ”„๋ ˆ์ž„ ๋“œ๋กญ์ด๋‚˜ ์Šค๋ž˜์‹ฑ์„ ๋ฐฉ์ง€ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค [1, 3]. * **์• ๋‹ˆ๋ฉ”์ด์…˜ ์†์„ฑ ์ตœ์ ํ™”**: ๋ ˆ์ด์•„์›ƒ์„ ๋ณ€๊ฒฝํ•˜๋Š” ์†์„ฑ ๋Œ€์‹ , `transform`์ด๋‚˜ `scale`, `opacity`์™€ ๊ฐ™์ด ๋ฆฌํ”Œ๋กœ์šฐ๋ฅผ ์œ ๋ฐœํ•˜์ง€ ์•Š๊ณ  GPU ๊ฐ€์†์„ ํ™œ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ํ•ฉ์„ฑ(Composite) ๋‹จ๊ณ„์˜ ์†์„ฑ๋งŒ์„ ์‚ฌ์šฉํ•˜์—ฌ ๋ Œ๋”๋ง ์„ฑ๋Šฅ์„ ๊ฐœ์„ ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค [2, 5]. ## โš–๏ธ Trade-offs & Caveats No trade-offs available. ## ๐Ÿ”— Knowledge Connections - **Related Topics:** Reflow, Repaint, [[CSS Animations|CSS Animations]], [[Performance Optimization|Performance Optimization]] - **Projects/Contexts:** [[Frontend|Frontend]] Architecture, [[แ„‰แ…ตแ†ฏแ„†แ…ฎแ„‹แ…ฆแ„‰แ…ฅ CSS แ„€แ…ชแ†ซแ„…แ…ตแ„’แ…กแ„‚แ…ณแ†ซ แ„‡แ…กแ†ผแ„‡แ…ฅแ†ธ|์‹ค๋ฌด์—์„œ CSS ๊ด€๋ฆฌํ•˜๋Š” ๋ฐฉ๋ฒ•]] - **Contradictions/Notes:** `will-change` ์†์„ฑ์€ ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์— ๋ฏธ๋ฆฌ ๋Œ€๋น„ํ•˜๊ฒŒ ํ•ด์ฃผ์–ด ์„ฑ๋Šฅ์„ ํ–ฅ์ƒํ•  ์ˆ˜ ์žˆ์ง€๋งŒ, ๋„ˆ๋ฌด ๋งŽ์€ ์š”์†Œ์— ๋ถˆํ•„์š”ํ•˜๊ฒŒ ์ ์šฉํ•  ๊ฒฝ์šฐ ์˜คํžˆ๋ ค ๋ธŒ๋ผ์šฐ์ € ์ž์›์„ ๋‚ญ๋น„ํ•˜์—ฌ ์„ฑ๋Šฅ ๋ฌธ์ œ๋ฅผ ์ผ์œผํ‚ฌ ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ ์‹ ์ค‘ํ•˜๊ฒŒ ์‚ฌ์šฉํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค [10]. --- *Last updated: 2026-04-26* --- - **Related Topics:** [[แ„…แ…ตแ„‘แ…ณแ†ฏแ„…แ…ฉแ„‹แ…ฎ(Reflow)|๋ฆฌํ”Œ๋กœ์šฐ(Reflow]], ๋ฆฌํŽ˜์ธํŠธ(Repaint), CSS ์„ฑ๋Šฅ ์ตœ์ ํ™”(CSS Performance [[Optimization|Optimization]], [[GPU แ„€แ…กแ„‰แ…ฉแ†จ(GPU Acceleration)|GPU ๊ฐ€์†(GPU Acceleration]] - **Projects/Contexts:** [[CSS แ„‹แ…ขแ„‚แ…ตแ„†แ…ฆแ„‹แ…ตแ„‰แ…งแ†ซ แ„Žแ…ฌแ„Œแ…ฅแ†จแ„’แ…ช(Optimizing CSS Animations)|CSS ์• ๋‹ˆ๋ฉ”์ด์…˜ ์ตœ์ ํ™”(Optimizing CSS Animations]], ํ™•์žฅ ๊ฐ€๋Šฅํ•œ ํ”„๋ก ํŠธ์—”๋“œ ์•„ํ‚คํ…์ฒ˜(Scalable Frontend [[Architecture|Architecture]] - **Contradictions/Notes:** ์†Œ์Šค ์ „๋ฐ˜์—์„œ ๋ ˆ์ด์•„์›ƒ ์Šค๋ž˜์‹ฑ์„ ๋ฐฉ์ง€ํ•˜๊ธฐ ์œ„ํ•ด ๋ Œ๋”๋ง ํŒŒ์ดํ”„๋ผ์ธ(Recalculate Style -> Layout -> Paint -> Composite)์˜ ์ดํ•ด๊ฐ€ ํ•„์ˆ˜์ ์ด๋ผ๊ณ  ๊ฐ•์กฐํ•˜๋ฉฐ, ์„ฑ๋Šฅ ์ €ํ•˜์˜ ์ฃผ๋ฒ”์œผ๋กœ ๋ ˆ์ด์•„์›ƒ(๋ฆฌํ”Œ๋กœ์šฐ) ๋‹จ๊ณ„๋ฅผ ์ง€๋ชฉํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค [1, 5, 6]. --- *Last updated: 2026-04-26*