[G1-Sync] Manual knowledge update
This commit is contained in:
@@ -1,10 +1,10 @@
|
||||
# [[Fiber Architecture]]
|
||||
|
||||
## 📌 Brief Summary
|
||||
React 16에서 도입된 Fiber Architecture는 동시성 렌더링(Concurrent Rendering)을 지원하기 위해 근본적으로 재작성된 React의 재조정(Reconciliation) 엔진입니다 [1-3]. 기존의 동기식 렌더링이 메인 스레드를 차단하여 UI가 멈추던 문제를 해결하고자, 렌더링 작업을 '파이버(Fiber)'라는 작은 단위의 노드로 쪼개어 점진적으로 처리합니다 [4, 5]. 이를 통해 React는 렌더링을 일시 중지하거나 브라우저에 제어권을 양보하고, 우선순위가 높은 작업을 먼저 처리한 후 다시 렌더링을 재개하는 타임 슬라이싱(Time-slicing) 스케줄링을 구현할 수 있게 되었습니다 [4-6].
|
||||
## 📌[[ brief]] Summary
|
||||
React 16에서 도입된 Fiber [[Architecture]]는 동시성 렌더링([[Concurrent Rendering]])을 지원하기 위해 근본적으로 재작성된 React의 재조정([[Reconciliation]]) 엔진입니다 [1-3]. 기존의 동기식 렌더링이 메인 스레드를 차단하여 UI가 멈추던 문제를 해결하고자, 렌더링 작업을 '파이버(Fiber)'라는 작은 단위의 노드로 쪼개어 점진적으로 처리합니다 [4, 5]. 이를 통해 React는 렌더링을 일시 중지하거나 브라우저에 제어권을 양보하고, 우선순위가 높은 작업을 먼저 처리한 후 다시 렌더링을 재개하는 타임 슬라이싱([[Time-Slicing]]) 스케줄링을 구현할 수 있게 되었습니다 [4-6].
|
||||
|
||||
## 📖 Core Content
|
||||
* **동기식 차단(Synchronous Blocking)의 한계 극복:**
|
||||
* **동기식 차단(Synchronous [[Blocking]])의 한계 극복:**
|
||||
Fiber 도입 이전의 React는 '스택 재조정자(Stack Reconciler)'를 사용하여 전체 컴포넌트 트리를 단일 재귀 호출로 동기 처리했습니다 [4]. 이 방식은 대규모 애플리케이션에서 브라우저의 프레임 예산(16.6ms)을 초과할 경우 메인 스레드를 차단하여 사용자 입력이나 애니메이션을 지연시켰습니다 [4]. Fiber는 작업을 작은 단위로 나누어 브라우저가 높은 우선순위의 작업을 가로채 처리할 수 있게 함으로써 이 문제를 해결합니다 [4, 5, 7].
|
||||
* **작업 루프(Work Loop)와 두 가지 렌더링 단계:**
|
||||
Fiber의 재조정 과정은 작업 중단과 우선순위 관리를 위해 두 가지 명확한 단계로 나뉩니다 [8].
|
||||
@@ -18,7 +18,7 @@ React 16에서 도입된 Fiber Architecture는 동시성 렌더링(Concurrent Re
|
||||
## 🔗 Knowledge Connections
|
||||
- **Related Topics:** [[Virtual DOM]], [[Reconciliation]], [[Concurrent Rendering]], [[Critical Rendering Path]]
|
||||
- **Projects/Contexts:** [[React 16+ Core Engine]], [[브라우저 메인 스레드 최적화 및 타임 슬라이싱]]
|
||||
- **Contradictions/Notes:** Fiber의 동시성 렌더링 기능(예: `useTransition`, `useDeferredValue`)은 코드의 물리적인 실행 속도를 높이는 것은 아닙니다 [17]. 무거운 연산으로 인한 병목이 즉각적인 사용자 상호작용을 방해하지 않도록 뒤로 미룸(Deferring)으로써, 체감 성능(Perceived Performance) 측면에서 애플리케이션이 훨씬 "더 빠르게 느껴지도록" 만드는 것이 핵심입니다 [17].
|
||||
- **Contradictions/Notes:** Fiber의 동시성 렌더링 기능(예: `[[useTransition]]`, `[[useDeferredValue]]`)은 코드의 물리적인 실행 속도를 높이는 것은 아닙니다 [17]. 무거운 연산으로 인한 병목이 즉각적인 사용자 상호작용을 방해하지 않도록 뒤로 미룸(Deferring)으로써, 체감 성능(Perceived Performance) 측면에서 애플리케이션이 훨씬 "더 빠르게 느껴지도록" 만드는 것이 핵심입니다 [17].
|
||||
|
||||
---
|
||||
*Last updated: 2026-04-25*
|
||||
Reference in New Issue
Block a user