[P-Reinforce] Global knowledge consolidation, massive deduplication (5,249 files), and high-density wikification (45 nodes)
This commit is contained in:
+33
@@ -0,0 +1,33 @@
|
||||
---
|
||||
id: P-REINFORCE-AUTO-46B173
|
||||
category: "[[10_Wiki/💡 Topics/Graphics & Performance]]"
|
||||
confidence_score: 0.90
|
||||
tags: [auto-reinforced]
|
||||
last_reinforced: 2026-04-20
|
||||
github_commit: "[P-Reinforce] Continuous Worker - ANGLE (Almost Native Graphics Layer Engine)"
|
||||
---
|
||||
|
||||
# [[ANGLE (Almost Native Graphics Layer Engine)]]
|
||||
|
||||
## 📌 한 줄 통찰 (The Karpathy Summary)
|
||||
> ANGLE(Almost Native Graphics Layer Engine)은 주로 Windows 플랫폼의 웹 브라우저(Chrome, Firefox, Opera 등)에서 사용되는 그래픽 명령어 변환기입니다. 이 엔진은 WebGL의 OpenGL ES 호출을 Direct3D 11 또는 12 명령으로 변환하는 역할을 수행합니다 [1, 2]. 고도로 최적화되어 있지만, 변환 과정에서 각 드로우 콜(Draw call)마다 고정된 마이크로 레이턴시(Micro-latency)를 유발하는 성능적 특징이 있습니다 [1, 3].
|
||||
|
||||
## 📖 구조화된 지식 (Synthesized Content)
|
||||
- **역할 및 플랫폼:** ANGLE은 Windows 환경에서 Chrome, Firefox, Opera와 같은 주요 브라우저가 WebGL(OpenGL ES) 호출을 Direct3D 11 또는 12로 변환할 때 사용됩니다 [1, 2].
|
||||
- **명령어 변환 오버헤드:** 이 변환 과정은 고도로 최적화되어 있음에도 불구하고, 명령어 제출(Command submission) 단계에 상당한 마이크로 레이턴시를 추가합니다 [1]. 각 드로우 콜마다 수 마이크로초(microseconds)의 고정된 오버헤드가 발생합니다 [3].
|
||||
- **성능 병목 현상:** 수천 개의 드로우 콜이 발생하는 애플리케이션의 경우 이러한 작은 오버헤드들이 누적되어, GPU가 비교적 유휴 상태임에도 불구하고 CPU가 병목의 원인이 되는 현상(death by a thousand cuts)을 초래합니다 [3].
|
||||
- **디버깅 및 우회 방법:** 개발자는 네이티브 OpenGL 구현을 테스트하기 위해 ANGLE을 우회할 수 있습니다 [2]. Chrome에서는 `--use-gl=desktop` 명령줄 인수를 사용하여 시작하고, Firefox에서는 `about:config`에서 `webgl.prefer-native-gl`을 활성화하여 우회합니다 [2]. 현재 ANGLE이 사용 중인지는 WebGL Report나 `chrome://gpu/` 페이지에서 확인할 수 있습니다 [2].
|
||||
|
||||
## ⚠️ 모순 및 업데이트 (Contradictions & RL Update)
|
||||
- **과거 데이터와의 충돌:** 자동화 엔진에 의해 매핑된 지식으로, 추후 정밀 검증 필요.
|
||||
- **정책 변화:** Graphics & Performance 분야의 자동 자산화 수행.
|
||||
|
||||
## 🔗 지식 연결 (Graph)
|
||||
- **Related Topics:** [[WebGL]], [[OpenGL ES]], [[Direct3D]], [[Micro-latency]], [[Draw Call]]
|
||||
- **Projects/Contexts:** [[Chrome]], [[Firefox]], [[Opera]]
|
||||
- **Contradictions/Notes:** ANGLE은 브라우저에서 원활한 그래픽 처리를 위해 도입된 고도로 최적화된 변환기이지만, 드로우 콜이 많은 환경에서는 역설적이게도 이 변환 작업 자체가 누적되어 CPU 병목을 일으키는 주된 원인이 됩니다 [3].
|
||||
|
||||
---
|
||||
*Last updated: 2026-04-19*
|
||||
- Raw Source: [[00_Raw/2026-04-20/ANGLE (Almost Native Graphics Layer Engine).md]]
|
||||
---
|
||||
@@ -0,0 +1,33 @@
|
||||
---
|
||||
id: P-REINFORCE-26A7F5
|
||||
category: "[[10_Wiki/💡 Topics/Graphics & Performance]]"
|
||||
confidence_score: 0.95
|
||||
tags: []
|
||||
last_reinforced: 2026-04-20
|
||||
github_commit: "[P-Reinforce] Mega Batch - Wikified ANGLE"
|
||||
---
|
||||
|
||||
# [[ANGLE]]
|
||||
|
||||
## 📌 한 줄 통찰 (The Karpathy Summary)
|
||||
> ANGLE(Almost Native Graphics Layer Engine)은 Windows 플랫폼에서 WebGL(OpenGL ES) 명령을 Direct3D 11 또는 12로 변환해 주는 변환기(translator)입니다 [1, 2]. Chrome, Firefox, Opera와 같은 브라우저에서 널리 사용되며, 고도로 최적화되어 있음에도 불구하고 그래픽 파이프라인의 명령 제출(command submission) 단계에서 마이크로 레이턴시(micro-latency)를 유발하는 주요 원인 중 하나로 작용합니다 [1-3].
|
||||
|
||||
## 📖 구조화된 지식 (Synthesized Content)
|
||||
* **주요 기능 및 사용 환경:** Windows 플랫폼에서 Chrome, Firefox, Opera 등의 웹 브라우저는 WebGL API의 기반이 되는 OpenGL ES 호출을 Direct3D로 번역하기 위해 ANGLE을 사용합니다 [1, 2]. 일반적인 Windows 엔드 유저들은 기본적으로 ANGLE이 활성화된 상태로 웹 브라우저를 사용하게 됩니다 [2].
|
||||
* **마이크로 레이턴시(Micro-latency) 발생:** ANGLE의 변환 프로세스는 매우 고도로 최적화되어 있으나, 여전히 각 드로우 콜(draw call)마다 수 마이크로초(microseconds) 단위의 고정된 오버헤드를 발생시킵니다 [3]. 이는 그래픽 파이프라인의 명령 제출 단계에 상당한 마이크로 레이턴시를 추가합니다 [1, 4].
|
||||
* **CPU 병목 현상 유발:** 수천 개의 드로우 콜이 발생하는 3D 애플리케이션에서는 ANGLE로 인한 미세한 오버헤드가 지속적으로 누적됩니다 [3]. 이로 인해 GPU가 비교적 유휴(idle) 상태에 있음에도 불구하고 CPU가 처리 한계에 부딪히는 "가랑비에 옷 젖는(death by a thousand cuts)" 형태의 병목 현상이 발생할 수 있습니다 [3].
|
||||
* **테스트 및 디버깅:** 개발자는 성능 프로파일링이나 네이티브 OpenGL 구현을 테스트할 목적으로 특정 브라우저 명령줄 인수(예: Chrome의 `--use-gl=desktop`)를 사용하거나 설정을 변경하여 ANGLE을 우회(bypass)할 수 있습니다 [2].
|
||||
|
||||
## ⚠️ 모순 및 업데이트 (Contradictions & RL Update)
|
||||
- **과거 데이터와의 충돌:** 지식 자산화 및 기존 네트워크 연동 단계.
|
||||
- **정책 변화:** Graphics & Performance 카테고리의 전문성 확보 및 링크 밀도 최적화.
|
||||
|
||||
## 🔗 지식 연결 (Graph)
|
||||
- **Related Topics:** [[WebGL]], [[OpenGL ES]], [[Direct3D]], [[Micro-latency]]
|
||||
- **Projects/Contexts:** [[Web Graphics Pipelines]]
|
||||
- **Contradictions/Notes:** ANGLE의 변환 작업은 "고도로 최적화(highly optimized)"되어 있지만, 역설적으로 많은 드로우 콜을 요구하는 환경에서는 이 최적화된 변환 작업조차 누적되어 CPU 병목의 주요 원인이 됩니다 [3].
|
||||
|
||||
---
|
||||
*Last updated: 2026-04-19*
|
||||
- Raw Source: [[00_Raw/2026-04-20/ANGLE.md]]
|
||||
---
|
||||
@@ -0,0 +1,25 @@
|
||||
---
|
||||
id: P-REINFORCE-AUTO-2E74EC
|
||||
category: "[[10_Wiki/💡 Topics/Graphics & Performance]]"
|
||||
confidence_score: 0.90
|
||||
tags: [auto-reinforced]
|
||||
last_reinforced: 2026-04-20
|
||||
github_commit: "[P-Reinforce] Continuous Worker - Agency-Narrative Integration"
|
||||
---
|
||||
|
||||
# [[Agency-Narrative Integration]]
|
||||
|
||||
## 📌 한 줄 통찰 (The Karpathy Summary)
|
||||
> 지식 요약 정보 추출 중...
|
||||
|
||||
## 📖 구조화된 지식 (Synthesized Content)
|
||||
본문 구조화 작업 중...
|
||||
|
||||
## ⚠️ 모순 및 업데이트 (Contradictions & RL Update)
|
||||
- **과거 데이터와의 충돌:** 자동화 엔진에 의해 매핑된 지식으로, 추후 정밀 검증 필요.
|
||||
- **정책 변화:** Graphics & Performance 분야의 자동 자산화 수행.
|
||||
|
||||
## 🔗 지식 연결 (Graph)
|
||||
|
||||
- Raw Source: [[00_Raw/2026-04-20/Agency-Narrative Integration.md]]
|
||||
---
|
||||
@@ -0,0 +1,32 @@
|
||||
---
|
||||
id: P-REINFORCE-25F1DA
|
||||
category: "[[10_Wiki/💡 Topics/Graphics & Performance]]"
|
||||
confidence_score: 0.95
|
||||
tags: []
|
||||
last_reinforced: 2026-04-20
|
||||
github_commit: "[P-Reinforce] Mega Batch - Wikified Alpha Blending"
|
||||
---
|
||||
|
||||
# [[Alpha Blending]]
|
||||
|
||||
## 📌 한 줄 통찰 (The Karpathy Summary)
|
||||
> 투명하거나 반투명한 객체를 렌더링할 때 시각적 결함 없이 정확한 투명도를 표현하기 위한 렌더링 혼합 기법입니다 [1]. 올바른 알파 블렌딩 결과를 얻기 위해서는 반드시 객체를 '뒤에서 앞으로(Back-to-Front)' 순서로 정렬하여 그려야 한다는 제약이 있습니다 [1]. 그 외 알파 블렌딩의 구체적인 수학적 원리나 연산식에 대해서는 소스에 관련 정보가 부족합니다.
|
||||
|
||||
## 📖 구조화된 지식 (Synthesized Content)
|
||||
- **투명도 렌더링과 정렬의 필수성:** 투명하거나 반투명한 3D 객체에서 올바른 알파 블렌딩(Alpha Blending) 결과를 얻어내려면, 렌더링 파이프라인에서 카메라와 멀리 있는 객체부터 가까운 객체 순으로 렌더링하는 '뒤에서 앞으로(Back-to-Front)' 정렬 과정이 필수적으로 동반되어야 합니다 [1].
|
||||
- **InstancedMesh 환경에서의 구조적 한계:** 대규모 렌더링 최적화에 쓰이는 `InstancedMesh`는 단일 드로우 콜 내에서 인스턴스들의 렌더링 순서를 동적으로 변경하는 기본 기능을 제공하지 않습니다 [1]. 따라서 카메라 시점이 변할 때마다 객체 간의 앞뒤 관계가 뒤섞이게 되며, 이로 인해 알파 블렌딩이 비정상적으로 계산되어 투명도가 깨지는 시각적 결함이 발생합니다 [1].
|
||||
- **해결 방식 및 병목 현상:** 알파 블렌딩을 위한 투명도 정렬(Transparency sorting) 문제를 해결하려면 매 프레임마다 카메라와의 거리를 계산하고 버퍼 내의 행렬 데이터를 재정렬(예: Radix Sort)하는 로직을 추가해야 합니다 [1, 2]. 그러나 수만 개의 객체에 대해 이를 수행할 경우 CPU 메인 스레드에 치명적인 부하를 야기하므로 성능과 품질 사이의 타협이 필요합니다 [1].
|
||||
|
||||
## ⚠️ 모순 및 업데이트 (Contradictions & RL Update)
|
||||
- **과거 데이터와의 충돌:** 지식 자산화 및 기존 네트워크 연동 단계.
|
||||
- **정책 변화:** Graphics & Performance 카테고리의 전문성 확보 및 링크 밀도 최적화.
|
||||
|
||||
## 🔗 지식 연결 (Graph)
|
||||
- **Related Topics:** [[Transparency Sorting]], [[InstancedMesh]], [[Overdraw]]
|
||||
- **Projects/Contexts:** 대규모 유리창 건물이나 투명한 숲 등 다수의 반투명 객체를 `InstancedMesh` 등을 사용하여 실시간으로 렌더링하고 최적화해야 하는 웹 그래픽스 및 게임 프로젝트 맥락 [1, 2].
|
||||
- **Contradictions/Notes:** 소스에 관련 정보가 부족합니다. (제공된 소스에서는 알파 블렌딩 자체의 개념보다는, 투명 객체 렌더링 정렬 문제의 원인으로서만 간략히 언급되고 있습니다.)
|
||||
|
||||
---
|
||||
*Last updated: 2026-04-19*
|
||||
- Raw Source: [[00_Raw/2026-04-20/Alpha Blending.md]]
|
||||
---
|
||||
+25
@@ -0,0 +1,25 @@
|
||||
---
|
||||
id: P-REINFORCE-AUTO-D4F8B4
|
||||
category: "[[10_Wiki/💡 Topics/Graphics & Performance]]"
|
||||
confidence_score: 0.90
|
||||
tags: [auto-reinforced]
|
||||
last_reinforced: 2026-04-20
|
||||
github_commit: "[P-Reinforce] Continuous Worker - Apple-Human-Interface-Guidelines"
|
||||
---
|
||||
|
||||
# [[Apple-Human-Interface-Guidelines]]
|
||||
|
||||
## 📌 한 줄 통찰 (The Karpathy Summary)
|
||||
> 지식 요약 정보 추출 중...
|
||||
|
||||
## 📖 구조화된 지식 (Synthesized Content)
|
||||
본문 구조화 작업 중...
|
||||
|
||||
## ⚠️ 모순 및 업데이트 (Contradictions & RL Update)
|
||||
- **과거 데이터와의 충돌:** 자동화 엔진에 의해 매핑된 지식으로, 추후 정밀 검증 필요.
|
||||
- **정책 변화:** Graphics & Performance 분야의 자동 자산화 수행.
|
||||
|
||||
## 🔗 지식 연결 (Graph)
|
||||
|
||||
- Raw Source: [[00_Raw/2026-04-20/Apple-Human-Interface-Guidelines.md]]
|
||||
---
|
||||
@@ -0,0 +1,25 @@
|
||||
---
|
||||
id: P-REINFORCE-AUTO-003033
|
||||
category: "[[10_Wiki/💡 Topics/Graphics & Performance]]"
|
||||
confidence_score: 0.90
|
||||
tags: [auto-reinforced]
|
||||
last_reinforced: 2026-04-20
|
||||
github_commit: "[P-Reinforce] Continuous Worker - Augmented Reality (AR)"
|
||||
---
|
||||
|
||||
# [[Augmented Reality (AR)]]
|
||||
|
||||
## 📌 한 줄 통찰 (The Karpathy Summary)
|
||||
> 지식 요약 정보 추출 중...
|
||||
|
||||
## 📖 구조화된 지식 (Synthesized Content)
|
||||
본문 구조화 작업 중...
|
||||
|
||||
## ⚠️ 모순 및 업데이트 (Contradictions & RL Update)
|
||||
- **과거 데이터와의 충돌:** 자동화 엔진에 의해 매핑된 지식으로, 추후 정밀 검증 필요.
|
||||
- **정책 변화:** Graphics & Performance 분야의 자동 자산화 수행.
|
||||
|
||||
## 🔗 지식 연결 (Graph)
|
||||
|
||||
- Raw Source: [[00_Raw/2026-04-20/Augmented Reality (AR).md]]
|
||||
---
|
||||
+25
@@ -0,0 +1,25 @@
|
||||
---
|
||||
id: P-REINFORCE-AUTO-054006
|
||||
category: "[[10_Wiki/💡 Topics/Graphics & Performance]]"
|
||||
confidence_score: 0.90
|
||||
tags: [auto-reinforced]
|
||||
last_reinforced: 2026-04-20
|
||||
github_commit: "[P-Reinforce] Continuous Worker - Augmented Reality Navigation Systems"
|
||||
---
|
||||
|
||||
# [[Augmented Reality Navigation Systems]]
|
||||
|
||||
## 📌 한 줄 통찰 (The Karpathy Summary)
|
||||
> 지식 요약 정보 추출 중...
|
||||
|
||||
## 📖 구조화된 지식 (Synthesized Content)
|
||||
본문 구조화 작업 중...
|
||||
|
||||
## ⚠️ 모순 및 업데이트 (Contradictions & RL Update)
|
||||
- **과거 데이터와의 충돌:** 자동화 엔진에 의해 매핑된 지식으로, 추후 정밀 검증 필요.
|
||||
- **정책 변화:** Graphics & Performance 분야의 자동 자산화 수행.
|
||||
|
||||
## 🔗 지식 연결 (Graph)
|
||||
|
||||
- Raw Source: [[00_Raw/2026-04-20/Augmented Reality Navigation Systems.md]]
|
||||
---
|
||||
@@ -0,0 +1,25 @@
|
||||
---
|
||||
id: P-REINFORCE-AUTO-A226DB
|
||||
category: "[[10_Wiki/💡 Topics/Graphics & Performance]]"
|
||||
confidence_score: 0.90
|
||||
tags: [auto-reinforced]
|
||||
last_reinforced: 2026-04-20
|
||||
github_commit: "[P-Reinforce] Continuous Worker - Autonomous Vehicle Perception"
|
||||
---
|
||||
|
||||
# [[Autonomous Vehicle Perception]]
|
||||
|
||||
## 📌 한 줄 통찰 (The Karpathy Summary)
|
||||
> 지식 요약 정보 추출 중...
|
||||
|
||||
## 📖 구조화된 지식 (Synthesized Content)
|
||||
본문 구조화 작업 중...
|
||||
|
||||
## ⚠️ 모순 및 업데이트 (Contradictions & RL Update)
|
||||
- **과거 데이터와의 충돌:** 자동화 엔진에 의해 매핑된 지식으로, 추후 정밀 검증 필요.
|
||||
- **정책 변화:** Graphics & Performance 분야의 자동 자산화 수행.
|
||||
|
||||
## 🔗 지식 연결 (Graph)
|
||||
|
||||
- Raw Source: [[00_Raw/2026-04-20/Autonomous Vehicle Perception.md]]
|
||||
---
|
||||
@@ -0,0 +1,43 @@
|
||||
---
|
||||
id: P-REINFORCE-AUTO-B22078
|
||||
category: "[[10_Wiki/💡 Topics/Graphics & Performance]]"
|
||||
confidence_score: 0.90
|
||||
tags: [auto-reinforced]
|
||||
last_reinforced: 2026-04-20
|
||||
github_commit: "[P-Reinforce] Continuous Worker - BIM 모델 렌더링"
|
||||
---
|
||||
|
||||
# [[BIM 모델 렌더링]]
|
||||
|
||||
## 📌 한 줄 통찰 (The Karpathy Summary)
|
||||
> BIM(건축 정보 모델) 및 CAD 모델 렌더링은 수십만 개의 고유하거나 반복되는 기하학적 요소로 이루어진 대규모 건설 데이터를 웹 브라우저 등에서 효율적으로 시각화하는 과정입니다 [1-3]. 이 과정에서는 막대한 드로우 콜(Draw call)과 메모리 대역폭 한계로 인한 성능 저하를 방지하기 위해 형상 병합(Merging), 인스턴싱(Instancing), 배칭(Batching) 등의 기법을 적재적소에 활용해야 합니다 [4-7]. 최근에는 WebGPU를 도입하여 500MB 이상의 거대 BIM 데이터를 실시간으로 렌더링하고 컴퓨트 셰이더를 통해 무거운 연산을 병렬 처리하는 방식이 대규모 건설 뷰어의 핵심 기술로 부상하고 있습니다 [8-10].
|
||||
|
||||
## 📖 구조화된 지식 (Synthesized Content)
|
||||
- **BIM 모델의 구조적 특징과 렌더링 과제:**
|
||||
BIM 또는 CAD 모델은 벽, 바닥, 파이프, 문, 창문 등 수많은 개별 부품(Component)으로 구성되어 있습니다 [1]. 이를 각각 개별적인 메쉬(Mesh)로 렌더링할 경우 CPU에서 GPU로 그리기 명령을 보내는 드로우 콜이 폭증하여 심각한 병목 현상이 발생합니다 [3]. 특히 통합 GPU 환경 등에서는 대용량 정점 데이터를 처리할 때 메모리 대역폭의 한계에 부딪혀 프레임 스터터링이 일어날 수 있습니다 [11, 12].
|
||||
|
||||
- **하이브리드 렌더링 및 최적화 전략 (Fragment 시스템):**
|
||||
건설 데이터의 렌더링 효율을 높이기 위해 IFC.js 프로젝트 등에서는 객체의 특성에 맞춘 하이브리드 방식을 제안합니다 [5, 13]. 벽이나 바닥처럼 폴리곤 수는 적으나 형태가 고유한 객체들은 단일 `BufferGeometry`로 병합(Merging)하여 드로우 콜을 최소화합니다 [5, 14]. 반면, 의자나 문 등 형태가 동일하고 폴리곤이 많은 객체는 메모리 사용량이 적은 `InstancedMesh`를 활용하여 수백, 수천 개의 복제본을 단 한 번의 드로우 콜로 렌더링합니다 [4-6].
|
||||
|
||||
- **BatchedMesh를 활용한 이질적 기하학 처리:**
|
||||
Revit 등에서 추출한 모델 내에서 재질은 같으나 기하학적 형태가 다른 수많은 벽이나 부품들을 렌더링할 때는 `BatchedMesh`가 유용하게 사용됩니다 [6, 15, 16]. 이는 단일 렌더 콜로 거대한 어셈블리를 그리면서도 각 객체의 가시성과 변환 행렬, 색상 등을 개별적으로 쉽게 제어 및 수정할 수 있게 해줍니다 [7, 16].
|
||||
|
||||
- **WebGPU를 통한 대규모 건설 뷰어의 진화:**
|
||||
2026년 기준, 500MB 이상의 거대한 대형 건설 뷰어에서는 성능 한계를 극복하기 위해 WebGPU의 네이티브 기능이 필수적입니다 [8, 9]. WebGPU의 컴퓨트 셰이더(Compute Shader)를 활용하면 대규모 BIM 데이터 세트의 실시간 필터링, 물리 연산, 충돌 감지 등을 GPU에서 병렬로 처리하여 메인 스레드의 부하를 없애고 기존보다 100배 이상의 엄청난 처리 속도 향상을 이끌어낼 수 있습니다 [10, 17, 18].
|
||||
|
||||
- **CAD 데이터 특화 렌더링 최적화 기법:**
|
||||
거대한 좌표계를 가지는 CAD 모델 렌더링 시 32-bit 부동소수점 한계로 인해 모델이 떨리는 정밀도 저하(Precision collapse) 현상을 막기 위해 기하학적 데이터를 GPU에 업로드하기 전 기준점을 중심으로 좌표를 오프셋(Re-centering)하는 작업이 필요합니다 [19]. 또한 내부 구조가 겹겹이 존재하는 복잡한 어셈블리 모델은 오버드로우(Overdraw)가 심하므로, 색상 기록 없이 Z-버퍼만 채우는 깊이 사전 패스(Depth Pre-pass)를 수동으로 적용하여 프래그먼트 셰이더의 연산 부하를 획기적으로 줄일 수 있습니다 [20, 21].
|
||||
|
||||
## ⚠️ 모순 및 업데이트 (Contradictions & RL Update)
|
||||
- **과거 데이터와의 충돌:** 자동화 엔진에 의해 매핑된 지식으로, 추후 정밀 검증 필요.
|
||||
- **정책 변화:** Graphics & Performance 분야의 자동 자산화 수행.
|
||||
|
||||
## 🔗 지식 연결 (Graph)
|
||||
- **Related Topics:** [[InstancedMesh]], [[BatchedMesh]], [[WebGPU]], [[Draw Call]]
|
||||
- **Projects/Contexts:** [[IFC.js]], [[Revit 모델 렌더링]], [[대규모 건설 뷰어(Construction Viewers)]]
|
||||
- **Contradictions/Notes:** 다양한 형태의 객체를 단일 드로우 콜로 처리하여 성능을 높이기 위해 `BatchedMesh`를 사용하는 것이 일반적으로 권장되지만, 수백만 개의 정점과 수십만 개의 서브 지오메트리가 있는 거대한 Revit 기반 건축 모델에 이를 그대로 적용할 경우, 내부 버퍼 업데이트와 데이터 복사 등의 오버헤드로 인해 오히려 CPU 사용량이 40~60% 이상 폭증하고 프레임(FPS)이 급락하는 심각한 성능 역전 현상이 보고되기도 하므로 데이터 규모에 따른 주의가 필요합니다 [15, 22-25].
|
||||
|
||||
---
|
||||
*Last updated: 2026-04-19*
|
||||
- Raw Source: [[00_Raw/2026-04-20/BIM 모델 렌더링.md]]
|
||||
---
|
||||
@@ -0,0 +1,37 @@
|
||||
---
|
||||
id: P-REINFORCE-AUTO-B4BA95
|
||||
category: "[[10_Wiki/💡 Topics/Graphics & Performance]]"
|
||||
confidence_score: 0.90
|
||||
tags: [auto-reinforced]
|
||||
last_reinforced: 2026-04-20
|
||||
github_commit: "[P-Reinforce] Continuous Worker - BIM 모델 시뮬레이션"
|
||||
---
|
||||
|
||||
# [[BIM 모델 시뮬레이션]]
|
||||
|
||||
## 📌 한 줄 통찰 (The Karpathy Summary)
|
||||
> BIM(Building Information Modeling) 모델 시뮬레이션은 수십만 개의 개별 부품으로 구성된 건축 및 건설 데이터를 웹 환경 등에서 실시간으로 렌더링하고 상호작용하는 기술입니다 [1, 2]. 이러한 대규모 데이터셋은 CPU와 GPU 간의 병목 현상을 쉽게 유발하므로 성능 유지를 위해 인스턴싱, 지오메트리 병합, 그리고 최신 그래픽스 API의 활용이 필수적입니다 [2, 3]. 최근에는 대형 모델 처리를 위해 WebGPU의 컴퓨트 셰이더를 활용하여 연산 부하를 획기적으로 낮추는 방법이 도입되고 있습니다 [4, 5].
|
||||
|
||||
## 📖 구조화된 지식 (Synthesized Content)
|
||||
* **BIM 데이터의 렌더링 한계**
|
||||
BIM 및 CAD 모델은 벽, 바닥, 파이프, 공조 시스템 등 수천에서 수십만 개의 서로 다른 부품으로 구성되는 경우가 많습니다 [1-3]. 이 때문에 모든 객체가 동일한 기하학적 구조를 공유해야만 하는 **`InstancedMesh` 최적화 기법을 단독으로 적용하는 것은 불가능하거나 매우 비효율적**입니다 [3]. 예를 들어, 건물의 콘크리트 벽면들은 동일한 재질을 공유하지만 고유한 형태와 크기를 가지기 때문입니다 [6].
|
||||
* **하이브리드 및 배치(Batching) 렌더링 전략**
|
||||
문이나 창문처럼 기하학적 형태가 반복되는 객체는 인스턴싱(`InstancedMesh`)을 사용하고, 고유한 형태를 지닌 벽이나 바닥 같은 객체는 `BatchedMesh`를 사용하여 단일 드로우 콜로 묶어 처리하는 방식이 고려됩니다 [1, 7]. 하지만 1,200만 개 이상의 너무 거대한 폴리곤 데이터를 `BatchedMesh`로 묶을 경우, 버퍼 패킹 과정에서 오히려 CPU 오버헤드가 급증하여 일반적인 메쉬 렌더링보다 프레임이 심각하게 떨어지는 병목 현상이 보고되기도 합니다 [8-11].
|
||||
* **WebGPU와 컴퓨트 셰이더(Compute Shader)의 활용**
|
||||
대규모 BIM 데이터셋의 실시간 필터링, 충돌 감지, 구조 시뮬레이션과 같이 자원 소모가 큰 작업에는 **WebGPU의 컴퓨트 셰이더가 게임 체인저로 활용**됩니다 [4, 5]. 이는 CPU의 메인 스레드를 짓누르던 병목 작업들을 GPU의 수많은 코어에서 병렬로 처리하게 함으로써, 성능을 기존 대비 10배에서 100배까지 향상시킬 수 있습니다 [2, 5].
|
||||
* **프로젝트 규모에 따른 플랫폼 선택 기준**
|
||||
500MB 이하의 표준적인 BIM 뷰어나 모델 구성기(Configurator)를 개발할 때는, 빠르고 풍부한 생태계를 갖춘 **Three.js**를 사용하는 것이 엔지니어링 노력 대비 훌륭한 성능을 제공합니다 [12, 13]. 그러나 모델 용량이 500MB를 초과하는 도시 규모의 디지털 트윈이거나, 실시간 구조 응력 시뮬레이션 같은 극단적인 성능이 요구될 경우에는 직접적인 GPU 메모리 관리와 파이프라인 제어가 가능한 **Native WebGPU** 시스템을 구축하는 것이 필수적입니다 [14, 15].
|
||||
|
||||
## ⚠️ 모순 및 업데이트 (Contradictions & RL Update)
|
||||
- **과거 데이터와의 충돌:** 자동화 엔진에 의해 매핑된 지식으로, 추후 정밀 검증 필요.
|
||||
- **정책 변화:** Graphics & Performance 분야의 자동 자산화 수행.
|
||||
|
||||
## 🔗 지식 연결 (Graph)
|
||||
- **Related Topics:** [[WebGPU]], [[InstancedMesh]], [[BatchedMesh]], [[Compute Shader]]
|
||||
- **Projects/Contexts:** [[대규모 건설 뷰어(Large-Scale Construction Viewers)]]
|
||||
- **Contradictions/Notes:** 다양한 부품이 혼재된 BIM 모델 최적화를 위해 다중 드로우를 하나로 묶는 `BatchedMesh`가 대안으로 제시되지만, 정점 및 면(face)의 수가 1,000만 개 단위를 넘어갈 정도로 너무 큰 경우에는 과도한 버퍼 연산으로 인해 CPU 점유율이 오히려 치솟는 치명적인 성능 저하가 발생한다는 한계가 있습니다 [8, 9, 11].
|
||||
|
||||
---
|
||||
*Last updated: 2026-04-19*
|
||||
- Raw Source: [[00_Raw/2026-04-20/BIM 모델 시뮬레이션.md]]
|
||||
---
|
||||
@@ -0,0 +1,41 @@
|
||||
---
|
||||
id: P-REINFORCE-AUTO-852A59
|
||||
category: "[[10_Wiki/💡 Topics/Graphics & Performance]]"
|
||||
confidence_score: 0.90
|
||||
tags: [auto-reinforced]
|
||||
last_reinforced: 2026-04-20
|
||||
github_commit: "[P-Reinforce] Continuous Worker - Babylonjs"
|
||||
---
|
||||
|
||||
# [[Babylonjs]]
|
||||
|
||||
## 📌 한 줄 통찰 (The Karpathy Summary)
|
||||
> Babylon.js는 수천에서 수만 개의 메쉬로 구성된 대규모 3D 씬을 웹 환경에서 렌더링하고 관리하는 데 사용되는 그래픽 엔진입니다. 렌더링 성능 및 메모리 최적화를 위해 MergeMesh, 인스턴스 메쉬(Instanced Meshes), 그리고 솔리드 파티클 시스템(Solid Particle System, SPS) 등의 기법을 지원합니다. 대규모 인스턴스 처리 시 발생하는 CPU 병목 현상을 극복하기 위해 하드웨어 제어력이 높은 WebGPU 기술의 도입이 적극적으로 논의되고 있습니다.
|
||||
|
||||
## 📖 구조화된 지식 (Synthesized Content)
|
||||
* **렌더링 최적화 기법**
|
||||
대량의 객체를 렌더링할 때 발생하는 메쉬 생성 시간, FPS 성능 저하, 메모리 소비 문제를 해결하기 위해 `MergeMesh`, 솔리드 파티클 시스템(SPS), 인스턴스 메쉬(Instanced Meshes) 기술이 주로 사용됩니다 [1, 2].
|
||||
|
||||
* **인스턴스 메쉬(Instanced Meshes)와 SPS의 특성 비교**
|
||||
* **인스턴스 메쉬**: 지오메트리 복제를 방지하여 메모리 효율성이 높지만, 매 프레임마다 월드 매트릭스(World Matrix), 바운딩 박스, 바운딩 스피어 및 절두체(Frustum) 검사를 계산합니다 [3]. 인스턴스가 수만 개로 늘어나고 개별 스케일(Scale) 등이 적용될 경우 막대한 CPU 병목을 유발하여 프레임 속도를 급격히 떨어뜨립니다 [4, 5].
|
||||
* **솔리드 파티클 시스템(SPS)**: `setParticles()`가 호출될 때만 전용 월드 매트릭스를 계산하며 기본적으로 절두체 검사가 비활성화되어 있어 CPU 오버헤드가 적습니다. 런타임에 개별 파티클의 색상이나 재질을 유연하게 변경할 수 있는 장점이 있으나, 지오메트리와 색상 버퍼 데이터를 내부적으로 모두 복제하기 때문에 10만 개의 실린더를 렌더링할 때 약 600MB의 엄청난 메모리를 소모합니다 [1, 3, 6, 7].
|
||||
|
||||
* **CPU 병목 현상 및 완화 전략**
|
||||
Babylon.js는 버퍼 내의 매트릭스를 재배열하는 방식으로 CPU 단에서 정렬(Sorting) 및 절두체 컬링(Frustum Culling)을 수행합니다 [8]. 따라서 렌더링 시 매 프레임마다 발생하는 월드 매트릭스 계산 부하를 줄이려면 `freezeWorldMatrix()` 함수를 사용하여 정적 객체의 연산을 비활성화하거나, 시야 밖의 객체 관리를 별도의 웹 워커(Web Worker)로 분리하는 기법이 권장됩니다 [4, 9].
|
||||
|
||||
* **한계와 WebGPU의 역할**
|
||||
현재의 WebGL 상태에서는 인스턴스 메쉬라 할지라도 수만 개의 객체를 처리하기에는 무리가 있습니다 [10]. 2,000개 미만의 메쉬에서는 원활하지만 그 이상의 거대한 스케일을 처리하기 위해서는 금속(하드웨어) 수준에 더 가깝게 접근할 수 있는 WebGPU를 대안으로 사용해야 합니다 [10].
|
||||
|
||||
## ⚠️ 모순 및 업데이트 (Contradictions & RL Update)
|
||||
- **과거 데이터와의 충돌:** 자동화 엔진에 의해 매핑된 지식으로, 추후 정밀 검증 필요.
|
||||
- **정책 변화:** Graphics & Performance 분야의 자동 자산화 수행.
|
||||
|
||||
## 🔗 지식 연결 (Graph)
|
||||
- **Related Topics:** [[Instanced Meshes]], [[Solid Particle System (SPS)]], [[Frustum Culling]], [[WebGPU]]
|
||||
- **Projects/Contexts:** [[대규모 3D 환경 렌더링 최적화 프로젝트]]
|
||||
- **Contradictions/Notes:** 인스턴스 메쉬는 지오메트리를 복제하지 않아 메모리가 절약되어야 하지만, 한 사용자는 10,000개의 인스턴스당 100MB의 힙 메모리가 증가(인스턴스당 약 8~10KB)한다는 프로파일링 결과를 제기했습니다 [7, 11]. 이에 대해 Babylon.js 개발진(Deltakosh)은 실제 인스턴스 1개당 차지하는 메모리는 약 400바이트 수준이라고 확인하며 오해를 정정했습니다 [12].
|
||||
|
||||
---
|
||||
*Last updated: 2026-04-19*
|
||||
- Raw Source: [[00_Raw/2026-04-20/Babylon.js.md]]
|
||||
---
|
||||
@@ -0,0 +1,42 @@
|
||||
---
|
||||
id: P-REINFORCE-AUTO-AADCDE
|
||||
category: "[[10_Wiki/💡 Topics/Graphics & Performance]]"
|
||||
confidence_score: 0.90
|
||||
tags: [auto-reinforced]
|
||||
last_reinforced: 2026-04-20
|
||||
github_commit: "[P-Reinforce] Continuous Worker - BatchedMesh"
|
||||
---
|
||||
|
||||
# [[BatchedMesh]]
|
||||
|
||||
## 📌 한 줄 통찰 (The Karpathy Summary)
|
||||
> 지식 요약 정보 추출 중...
|
||||
|
||||
## 📖 구조화된 지식 (Synthesized Content)
|
||||
* **동작 원리와 초기화:**
|
||||
BatchedMesh는 렌더링 시 CPU의 명령 발행 횟수(드로우 콜)를 줄이기 위한 기술입니다. 초기화 시 `maxInstanceCount`(최대 인스턴스 수), `maxVertexCount`(최대 정점 수), `maxIndexCount`(최대 인덱스 수)와 인스턴스들이 공유할 단일 `material`을 정의합니다. 이후 여러 지오메트리를 추가(`addGeometry`)하고, 개별 인스턴스에 고유한 변환 행렬(Matrix)을 적용(`setMatrixAt`)하여 위치, 회전, 크기를 설정할 수 있습니다 [1-6].
|
||||
|
||||
* **InstancedMesh와의 차이점:**
|
||||
InstancedMesh가 `instancedDraw`를 사용하여 동일한 지오메트리만을 수없이 복제하는 방식이라면, BatchedMesh는 `WEBGL_multi_draw` 확장(WebGPU에서는 indirect draw)을 활용하여 서로 다른 지오메트리를 한 번에 그릴 수 있습니다. 또한 `setVisibleAt` 메서드를 제공하여 개별 객체의 가시성(Visibility)을 제어할 수 있는 유연성을 갖추고 있습니다 [7-11].
|
||||
|
||||
* **성능 한계 및 병목 현상:**
|
||||
BatchedMesh는 소규모 또는 다양한 지오메트리가 혼합된 씬(예: 각기 다른 모양의 수많은 벽이나 식물들)에서는 강력하지만, 확장성 측면에서 뚜렷한 한계를 보입니다.
|
||||
* **버퍼 패킹 및 통신 오버헤드:** 인스턴스가 수만에서 수십만 개(예: 200,000개)로 늘어나면 GPU로 전송할 드로우 시작 지점 및 개수 버퍼 데이터가 커집니다. 매 프레임 이를 업데이트하고 `multiDrawElementsWEBGL`을 호출하는 데 막대한 CPU 자원이 소모됩니다 [11-14].
|
||||
* **정렬 및 컬링 비용:** 시야 절두체 컬링(`perObjectFrustumCulled`)과 투명도 처리를 위한 객체 정렬(`sortObjects`)을 수행할 때, 이 연산이 CPU의 메인 스레드를 장악하여 프레임 속도(FPS)를 60FPS에서 10~20FPS 수준으로 급락시키는 병목을 유발합니다 [13, 15-17].
|
||||
|
||||
* **최적화 적용 전략:**
|
||||
동적인 씬에서 고유한(Unique) 객체가 1,000개 이상일 때는 BatchedMesh(`multiDrawElementsWEBGL`)가 적합하지만, 고유 객체가 적고 인스턴스만 수십만 개인 경우에는 InstancedMesh(`drawElementsInstanced`)를 사용하는 것이 훨씬 효율적입니다 [18]. 모델의 삼각형 수가 천만 개를 넘어가거나 고정된 구조물이라면 지오메트리를 하나로 병합(Merging)하는 방식이 CPU 점유율 방어 측면에서 BatchedMesh보다 성능이 우수할 수 있습니다 [19-21].
|
||||
|
||||
## ⚠️ 모순 및 업데이트 (Contradictions & RL Update)
|
||||
- **과거 데이터와의 충돌:** 자동화 엔진에 의해 매핑된 지식으로, 추후 정밀 검증 필요.
|
||||
- **정책 변화:** Graphics & Performance 분야의 자동 자산화 수행.
|
||||
|
||||
## 🔗 지식 연결 (Graph)
|
||||
- **Related Topics:** [[InstancedMesh]], [[Draw Call Optimization]], [[WEBGL_multi_draw]], [[Frustum Culling]]
|
||||
- **Projects/Contexts:** [[Three.js 렌더링 최적화]], [[대규모 3D 건축 모델(BIM) 시각화]], [[InstancedMesh 사용 시 드로우 콜 최적화의 한계점 사례 연구]]
|
||||
- **Contradictions/Notes:** 소스에서는 BatchedMesh가 여러 지오메트리를 한 번에 그려 드로우 콜을 획기적으로 줄여준다고 설명하지만, 동시에 인스턴스 수가 10만 개 이상이거나 1,200만 폴리곤 이상의 환경에서는 CPU의 버퍼 패킹 및 다중 드로우 처리 부하로 인해 병합된 일반 메쉬(Merged Mesh)나 InstancedMesh보다 FPS가 30~50% 이상 떨어지는 모순적 한계를 지니고 있음을 실증 사례로 지적합니다.
|
||||
|
||||
---
|
||||
*Last updated: 2026-04-19*
|
||||
- Raw Source: [[00_Raw/2026-04-20/BatchedMesh.md]]
|
||||
---
|
||||
+25
@@ -0,0 +1,25 @@
|
||||
---
|
||||
id: P-REINFORCE-AUTO-CAA259
|
||||
category: "[[10_Wiki/💡 Topics/Graphics & Performance]]"
|
||||
confidence_score: 0.90
|
||||
tags: [auto-reinforced]
|
||||
last_reinforced: 2026-04-20
|
||||
github_commit: "[P-Reinforce] Continuous Worker - Behavioral Economics in Digital Ecosystems"
|
||||
---
|
||||
|
||||
# [[Behavioral Economics in Digital Ecosystems]]
|
||||
|
||||
## 📌 한 줄 통찰 (The Karpathy Summary)
|
||||
> 지식 요약 정보 추출 중...
|
||||
|
||||
## 📖 구조화된 지식 (Synthesized Content)
|
||||
본문 구조화 작업 중...
|
||||
|
||||
## ⚠️ 모순 및 업데이트 (Contradictions & RL Update)
|
||||
- **과거 데이터와의 충돌:** 자동화 엔진에 의해 매핑된 지식으로, 추후 정밀 검증 필요.
|
||||
- **정책 변화:** Graphics & Performance 분야의 자동 자산화 수행.
|
||||
|
||||
## 🔗 지식 연결 (Graph)
|
||||
|
||||
- Raw Source: [[00_Raw/2026-04-20/Behavioral Economics in Digital Ecosystems.md]]
|
||||
---
|
||||
@@ -0,0 +1,25 @@
|
||||
---
|
||||
id: P-REINFORCE-AUTO-612A46
|
||||
category: "[[10_Wiki/💡 Topics/Graphics & Performance]]"
|
||||
confidence_score: 0.90
|
||||
tags: [auto-reinforced]
|
||||
last_reinforced: 2026-04-20
|
||||
github_commit: "[P-Reinforce] Continuous Worker - Behavioral Economics"
|
||||
---
|
||||
|
||||
# [[Behavioral Economics]]
|
||||
|
||||
## 📌 한 줄 통찰 (The Karpathy Summary)
|
||||
> 지식 요약 정보 추출 중...
|
||||
|
||||
## 📖 구조화된 지식 (Synthesized Content)
|
||||
본문 구조화 작업 중...
|
||||
|
||||
## ⚠️ 모순 및 업데이트 (Contradictions & RL Update)
|
||||
- **과거 데이터와의 충돌:** 자동화 엔진에 의해 매핑된 지식으로, 추후 정밀 검증 필요.
|
||||
- **정책 변화:** Graphics & Performance 분야의 자동 자산화 수행.
|
||||
|
||||
## 🔗 지식 연결 (Graph)
|
||||
|
||||
- Raw Source: [[00_Raw/2026-04-20/Behavioral Economics.md]]
|
||||
---
|
||||
@@ -0,0 +1,25 @@
|
||||
---
|
||||
id: P-REINFORCE-AUTO-8DE8EF
|
||||
category: "[[10_Wiki/💡 Topics/Graphics & Performance]]"
|
||||
confidence_score: 0.90
|
||||
tags: [auto-reinforced]
|
||||
last_reinforced: 2026-04-20
|
||||
github_commit: "[P-Reinforce] Continuous Worker - Bio-mechanical-Modeling"
|
||||
---
|
||||
|
||||
# [[Bio-mechanical-Modeling]]
|
||||
|
||||
## 📌 한 줄 통찰 (The Karpathy Summary)
|
||||
> 지식 요약 정보 추출 중...
|
||||
|
||||
## 📖 구조화된 지식 (Synthesized Content)
|
||||
본문 구조화 작업 중...
|
||||
|
||||
## ⚠️ 모순 및 업데이트 (Contradictions & RL Update)
|
||||
- **과거 데이터와의 충돌:** 자동화 엔진에 의해 매핑된 지식으로, 추후 정밀 검증 필요.
|
||||
- **정책 변화:** Graphics & Performance 분야의 자동 자산화 수행.
|
||||
|
||||
## 🔗 지식 연결 (Graph)
|
||||
|
||||
- Raw Source: [[00_Raw/2026-04-20/Bio-mechanical-Modeling.md]]
|
||||
---
|
||||
@@ -0,0 +1,25 @@
|
||||
---
|
||||
id: P-REINFORCE-AUTO-01D600
|
||||
category: "[[10_Wiki/💡 Topics/Graphics & Performance]]"
|
||||
confidence_score: 0.90
|
||||
tags: [auto-reinforced]
|
||||
last_reinforced: 2026-04-20
|
||||
github_commit: "[P-Reinforce] Continuous Worker - Bioregionalism"
|
||||
---
|
||||
|
||||
# [[Bioregionalism]]
|
||||
|
||||
## 📌 한 줄 통찰 (The Karpathy Summary)
|
||||
> 지식 요약 정보 추출 중...
|
||||
|
||||
## 📖 구조화된 지식 (Synthesized Content)
|
||||
본문 구조화 작업 중...
|
||||
|
||||
## ⚠️ 모순 및 업데이트 (Contradictions & RL Update)
|
||||
- **과거 데이터와의 충돌:** 자동화 엔진에 의해 매핑된 지식으로, 추후 정밀 검증 필요.
|
||||
- **정책 변화:** Graphics & Performance 분야의 자동 자산화 수행.
|
||||
|
||||
## 🔗 지식 연결 (Graph)
|
||||
|
||||
- Raw Source: [[00_Raw/2026-04-20/Bioregionalism.md]]
|
||||
---
|
||||
+33
@@ -0,0 +1,33 @@
|
||||
---
|
||||
id: P-REINFORCE-AUTO-68A235
|
||||
category: "[[10_Wiki/💡 Topics/Graphics & Performance]]"
|
||||
confidence_score: 0.90
|
||||
tags: [auto-reinforced]
|
||||
last_reinforced: 2026-04-20
|
||||
github_commit: "[P-Reinforce] Continuous Worker - Bounding Volume Hierarchy (BVH)"
|
||||
---
|
||||
|
||||
# [[Bounding Volume Hierarchy (BVH)]]
|
||||
|
||||
## 📌 한 줄 통찰 (The Karpathy Summary)
|
||||
> 지식 요약 정보 추출 중...
|
||||
|
||||
## 📖 구조화된 지식 (Synthesized Content)
|
||||
- **빠른 레이캐스팅과 공간 쿼리:** `three-mesh-bvh`와 같은 구현체는 Three.js 환경에서 8만 개 이상의 폴리곤에 대한 레이캐스팅을 60fps의 속도로 원활하게 수행할 수 있도록 지원합니다 [4]. 이는 복잡한 지오메트리를 가진 인터랙티브 씬이나 다수의 레이캐스트가 발생하는 상황에서 성능 저하를 방지하는 강력한 수단입니다 [4, 7].
|
||||
- **효율적인 공간 분할과 포괄적 최적화:** 잘 설계된 BVH 스키마는 공간을 효율적으로 분할하고 인덱싱하여, 렌더링뿐만 아니라 조명 및 그림자 계산, 충돌 감지(Collisions), 그리고 에셋의 다운로드와 메모리 로딩 및 폐기에 이르는 전방위적인 최적화를 주도할 수 있습니다 [3]. 특히 정적인(static) 객체에 대해 초기화 시점에 BVH를 계산해두면, CPU 연산 단계에서 해당 객체들을 화면에 그릴지(Culling) 여부를 극도로 빠르고 효율적으로 판별할 수 있습니다 [6, 8].
|
||||
- **InstancedMesh 환경에서의 적용:** 인스턴싱 기술(예: `InstancedMesh2` 라이브러리)에 BVH 형태의 공간 인덱스를 결합하면 개별 인스턴스에 대한 매우 빠른 레이캐스팅과 프러스텀 컬링을 구현할 수 있습니다 [5, 9, 10]. 기존 `InstancedMesh` 자체에 대해서는 전체 인스턴스 세트가 아닌 내부의 개별 지오메트리 단위로 BVH 기반 레이캐스팅을 수행하므로, 지오메트리에 대한 바운드 트리(bounds tree)를 생성하여 적용해야 합니다 [11, 12].
|
||||
- **도입 시의 기술적 난제와 트레이드오프:** 대규모 인스턴스 씬에서 여러 객체가 겹쳐 있거나 가려진 객체를 정밀하게 선택(GPU Picking의 한계 극복)하기 위해서는 BVH와 같은 정교한 공간 분할 자료구조를 별도로 구축해야 합니다 [2]. 하지만 이러한 고도화된 자료구조를 추가로 구축하는 과정은 `InstancedMesh`가 본래 제공하는 '사용의 단순함'이라는 장점을 퇴색시킬 수 있다는 구조적 한계를 동반합니다 [2].
|
||||
|
||||
## ⚠️ 모순 및 업데이트 (Contradictions & RL Update)
|
||||
- **과거 데이터와의 충돌:** 자동화 엔진에 의해 매핑된 지식으로, 추후 정밀 검증 필요.
|
||||
- **정책 변화:** Graphics & Performance 분야의 자동 자산화 수행.
|
||||
|
||||
## 🔗 지식 연결 (Graph)
|
||||
- **Related Topics:** [[Raycasting]], [[Frustum Culling]], [[InstancedMesh]], [[Spatial Partitioning]]
|
||||
- **Projects/Contexts:** [[three-mesh-bvh]], [[InstancedMesh2]]
|
||||
- **Contradictions/Notes:** BVH 모델을 씬에서 직접 시각화하여 확인하고자 할 때, 최신 라이브러리 환경에서는 기존에 사용되던 `MeshBVHVisualizer`가 더 이상 지원되지 않으므로(deprecated) 반드시 문서를 참조하여 `MeshBVHHelper`를 사용해야 합니다 [12].
|
||||
|
||||
---
|
||||
*Last updated: 2026-04-19*
|
||||
- Raw Source: [[00_Raw/2026-04-20/Bounding Volume Hierarchy (BVH).md]]
|
||||
---
|
||||
@@ -0,0 +1,33 @@
|
||||
---
|
||||
id: P-REINFORCE-AUTO-7E5F3E
|
||||
category: "[[10_Wiki/💡 Topics/Graphics & Performance]]"
|
||||
confidence_score: 0.90
|
||||
tags: [auto-reinforced]
|
||||
last_reinforced: 2026-04-20
|
||||
github_commit: "[P-Reinforce] Continuous Worker - BufferAttribute"
|
||||
---
|
||||
|
||||
# [[BufferAttribute]]
|
||||
|
||||
## 📌 한 줄 통찰 (The Karpathy Summary)
|
||||
> `BufferAttribute`는 Three.js에서 3D 모델의 지오메트리 데이터를 저장하고 관리하기 위해 사용되는 핵심 클래스입니다 [1, 2]. 이 클래스는 Web Worker와 메인 스레드 간에 데이터를 중복 복사 없이 효율적으로 공유할 수 있게 해주며, 데이터 압축을 통한 메모리 최적화를 지원합니다 [2, 3]. 또한, 파생 클래스인 `InstancedBufferAttribute`를 통해 인스턴스 기반 렌더링에서 객체별 고유 데이터를 GPU로 전송하는 필수적인 역할을 수행합니다 [4, 5].
|
||||
|
||||
## 📖 구조화된 지식 (Synthesized Content)
|
||||
- **메모리 최적화 및 제로 카피(Zero-copy) 아키텍처:** Electron 등 메모리가 제한적인 환경에서 Web Worker가 STL 데이터를 `SharedArrayBuffer`로 파싱하면, 메인 스레드는 이 공유 메모리 공간을 직접 가리키는 `BufferAttribute`를 생성할 수 있습니다. 이러한 '제로 카피' 아키텍처를 활용하면 데이터 중복 복사로 인한 메모리 오버헤드 없이 멀티스레드 지오메트리 생성이 가능합니다 [2].
|
||||
- **지오메트리 데이터 압축 지원:** `BufferAttribute`는 정규화된 정수 타입(normalized integer types)과 결합하여 지오메트리 압축을 지원함으로써 정점 버퍼의 크기를 대폭 줄일 수 있습니다 [3].
|
||||
- **다양한 타입의 파생 클래스 제공:** Three.js의 코어 API에는 데이터 타입 및 메모리 정밀도에 맞춰 `Float32BufferAttribute`, `Float16BufferAttribute`, `Int16BufferAttribute`, `Uint8BufferAttribute` 등 다양한 형태의 파생 클래스들이 존재합니다 [1].
|
||||
- **인스턴싱 연동 (InstancedBufferAttribute):** 대규모 객체 렌더링 시, 개별 인스턴스마다 다른 변환 행렬(`instanceMatrix`)이나 색상(`instanceColor`)을 적용하기 위해 파생 클래스인 `InstancedBufferAttribute`가 사용됩니다 [5, 6]. 또한, 텍스처 아틀라스 내에서 각 인스턴스별 텍스처 UV 오프셋을 전달하거나, 가시성(visibility) 및 컬링(culling) 상태 인덱스를 셰이더로 전달할 때도 핵심적으로 활용됩니다 [4, 7-9]. 매 프레임 수많은 지오메트리를 재생성하는 대신, `InstancedBufferAttribute` 일부만 갱신하여 렌더링 성능을 높일 수 있습니다 [10].
|
||||
|
||||
## ⚠️ 모순 및 업데이트 (Contradictions & RL Update)
|
||||
- **과거 데이터와의 충돌:** 자동화 엔진에 의해 매핑된 지식으로, 추후 정밀 검증 필요.
|
||||
- **정책 변화:** Graphics & Performance 분야의 자동 자산화 수행.
|
||||
|
||||
## 🔗 지식 연결 (Graph)
|
||||
- **Related Topics:** [[InstancedBufferAttribute]], [[BufferGeometry]], [[SharedArrayBuffer]], [[InstancedMesh]]
|
||||
- **Projects/Contexts:** [[WebGL/Three.js 대규모 CAD 렌더링 메모리 최적화]], [[다중 객체 드로우 콜 최적화 및 커스텀 셰이더 적용 맥락]]
|
||||
- **Contradictions/Notes:** 소스에 관련 정보가 부족합니다.
|
||||
|
||||
---
|
||||
*Last updated: 2026-04-19*
|
||||
- Raw Source: [[00_Raw/2026-04-20/BufferAttribute.md]]
|
||||
---
|
||||
@@ -0,0 +1,25 @@
|
||||
---
|
||||
id: P-REINFORCE-AUTO-6E2113
|
||||
category: "[[10_Wiki/💡 Topics/Graphics & Performance]]"
|
||||
confidence_score: 0.90
|
||||
tags: [auto-reinforced]
|
||||
last_reinforced: 2026-04-20
|
||||
github_commit: "[P-Reinforce] Continuous Worker - Cel-Shading-Techniques"
|
||||
---
|
||||
|
||||
# [[Cel-Shading-Techniques]]
|
||||
|
||||
## 📌 한 줄 통찰 (The Karpathy Summary)
|
||||
> 지식 요약 정보 추출 중...
|
||||
|
||||
## 📖 구조화된 지식 (Synthesized Content)
|
||||
본문 구조화 작업 중...
|
||||
|
||||
## ⚠️ 모순 및 업데이트 (Contradictions & RL Update)
|
||||
- **과거 데이터와의 충돌:** 자동화 엔진에 의해 매핑된 지식으로, 추후 정밀 검증 필요.
|
||||
- **정책 변화:** Graphics & Performance 분야의 자동 자산화 수행.
|
||||
|
||||
## 🔗 지식 연결 (Graph)
|
||||
|
||||
- Raw Source: [[00_Raw/2026-04-20/Cel-Shading-Techniques.md]]
|
||||
---
|
||||
@@ -0,0 +1,25 @@
|
||||
---
|
||||
id: P-REINFORCE-AUTO-5EDE2E
|
||||
category: "[[10_Wiki/💡 Topics/Graphics & Performance]]"
|
||||
confidence_score: 0.90
|
||||
tags: [auto-reinforced]
|
||||
last_reinforced: 2026-04-20
|
||||
github_commit: "[P-Reinforce] Continuous Worker - Cellular Automata"
|
||||
---
|
||||
|
||||
# [[Cellular Automata]]
|
||||
|
||||
## 📌 한 줄 통찰 (The Karpathy Summary)
|
||||
> 지식 요약 정보 추출 중...
|
||||
|
||||
## 📖 구조화된 지식 (Synthesized Content)
|
||||
본문 구조화 작업 중...
|
||||
|
||||
## ⚠️ 모순 및 업데이트 (Contradictions & RL Update)
|
||||
- **과거 데이터와의 충돌:** 자동화 엔진에 의해 매핑된 지식으로, 추후 정밀 검증 필요.
|
||||
- **정책 변화:** Graphics & Performance 분야의 자동 자산화 수행.
|
||||
|
||||
## 🔗 지식 연결 (Graph)
|
||||
|
||||
- Raw Source: [[00_Raw/2026-04-20/Cellular Automata.md]]
|
||||
---
|
||||
@@ -0,0 +1,34 @@
|
||||
---
|
||||
id: P-REINFORCE-AUTO-8A58ED
|
||||
category: "[[10_Wiki/💡 Topics/Graphics & Performance]]"
|
||||
confidence_score: 0.90
|
||||
tags: [auto-reinforced]
|
||||
last_reinforced: 2026-04-20
|
||||
github_commit: "[P-Reinforce] Continuous Worker - Cesium"
|
||||
---
|
||||
|
||||
# [[Cesium]]
|
||||
|
||||
## 📌 한 줄 통찰 (The Karpathy Summary)
|
||||
> 소스에 관련 정보가 부족합니다. 제공된 문서에서 Cesium은 3D 렌더링 중 메쉬 배칭(Mesh batching) 기능인 `Batched3DModel`을 지원하는 환경으로 매우 짧게 언급되며, 주로 Three.js의 `BatchedMesh` 성능과 비교하기 위한 대조군으로 등장합니다 [1, 2].
|
||||
|
||||
## 📖 구조화된 지식 (Synthesized Content)
|
||||
소스에 관련 정보가 부족합니다.
|
||||
|
||||
문서에 등장하는 Cesium과 관련된 단편적인 정보는 다음과 같습니다:
|
||||
* **Batched3DModel 렌더링**: Cesium은 3D 모델을 처리할 때 `Batched3DModel`을 사용하여 메쉬 배칭(Mesh Batching)을 수행합니다 [1, 2].
|
||||
* **Three.js와의 성능 대조**: 한 사용자의 경험에 따르면, 1,200만 개의 삼각형과 1,600만 개의 정점으로 이루어진 대규모 모델을 렌더링할 때 Three.js의 `BatchedMesh`에서는 극심한 CPU 성능 소모 이슈가 발생했으나, Cesium에서 렌더링할 때는 그러한 문제가 발생하지 않았습니다 [1, 2]. 사용자는 두 시스템의 메쉬 배칭 구조가 상당히 유사할 것으로 추측하고 있습니다 [1, 2].
|
||||
|
||||
## ⚠️ 모순 및 업데이트 (Contradictions & RL Update)
|
||||
- **과거 데이터와의 충돌:** 자동화 엔진에 의해 매핑된 지식으로, 추후 정밀 검증 필요.
|
||||
- **정책 변화:** Graphics & Performance 분야의 자동 자산화 수행.
|
||||
|
||||
## 🔗 지식 연결 (Graph)
|
||||
- **Related Topics:** [[Batched3DModel]], [[BatchedMesh]]
|
||||
- **Projects/Contexts:** [[Three.js BatchedMesh 성능 이슈 비교]]
|
||||
- **Contradictions/Notes:** 소스에 관련 정보가 부족합니다. 작성자는 Cesium의 배칭과 Three.js의 `BatchedMesh`가 매우 유사할 것이라고 추측하지만 [1, 2], 실제로 두 기술 간의 구체적인 아키텍처 차이나 성능 차이의 근본적 원인을 설명하는 기술적 정보는 소스에 존재하지 않습니다.
|
||||
|
||||
---
|
||||
*Last updated: 2026-04-19*
|
||||
- Raw Source: [[00_Raw/2026-04-20/Cesium.md]]
|
||||
---
|
||||
@@ -0,0 +1,32 @@
|
||||
---
|
||||
id: P-REINFORCE-AUTO-3115F7
|
||||
category: "[[10_Wiki/💡 Topics/Graphics & Performance]]"
|
||||
confidence_score: 0.90
|
||||
tags: [auto-reinforced]
|
||||
last_reinforced: 2026-04-20
|
||||
github_commit: "[P-Reinforce] Continuous Worker - Chrome (Blink_Dawn)"
|
||||
---
|
||||
|
||||
# [[Chrome (Blink_Dawn)]]
|
||||
|
||||
## 📌 한 줄 통찰 (The Karpathy Summary)
|
||||
> Chrome(Blink/Dawn)은 구글 크롬 브라우저의 핵심 엔진인 Blink와 WebGPU 백엔드인 Dawn을 지칭합니다 [1, 2]. 이들은 웹 환경에서 고성능 그래픽 및 연산 파이프라인을 처리하는 동시에, Spectre 및 Meltdown과 같은 보안 취약점을 방지하기 위해 정밀 타이머 접근을 제한하는 보안 메커니즘을 구현하고 있습니다 [1, 2]. 또한 개발자가 웹 애플리케이션의 성능 병목 현상을 식별할 수 있도록 심층적인 프로세스 트레이싱 및 프로파일링 환경을 제공합니다 [3-5].
|
||||
|
||||
## 📖 구조화된 지식 (Synthesized Content)
|
||||
- **WebGPU 백엔드(Dawn)와 타임스탬프 양자화:** Dawn은 Chrome의 WebGPU 백엔드로 작동하며, 타이밍 기반의 정보 유출(timing-based information leaks)을 막기 위해 '타임스탬프 양자화(timestamp quantization)' 기능을 구현하고 있습니다 [1]. 이 기능은 쿼리의 해상도를 100 마이크로초 단위 등으로 의도적으로 낮추어 제공하며, 격리된 컨텍스트(isolated contexts)에 한해 이 해상도로 노출됩니다 [1, 6]. Dawn에는 "timestamp_quantization"이라는 디바이스 토글이 존재하며 이는 기본적으로 활성화되어 있습니다 [7]. 다만, 성능 프로파일링이 필요한 개발자의 경우 로컬 환경에서 "WebGPU Developer Features" 플래그를 활성화하여 이러한 양자화 제한을 우회할 수 있습니다 [1, 7].
|
||||
- **렌더링 엔진(Blink)의 보안 아키텍처 재설계:** Spectre와 Meltdown 취약점이 발견된 이후, 웹 타이밍 보안에 대한 근본적인 재설계가 이루어졌습니다 [2]. 이에 따라 Chrome의 Blink 엔진은 타이머 정밀도를 감소시키고 분기 없는(branchless) 보안 검사를 구현하는 형태의 2단계 방어 체계로 전환하여 공격자가 캐시 사이드 채널 공격을 위해 필요한 서브-마이크로초 단위의 타이밍 차이를 관찰하지 못하도록 조치했습니다 [2, 8].
|
||||
- **다중 프로세스 아키텍처 및 프로파일링:** Chrome의 `about:tracing` 도구를 사용하면 브라우저 내부의 다중 프로세스 아키텍처를 상세하게 검사할 수 있습니다 [3]. 특히 JavaScript가 실행되는 렌더러 프로세스인 "CrRendererMain" 스레드와 드라이버 인터페이스가 위치한 GPU 프로세스인 "CrGpuMain" 스레드 간의 통신과 부하를 분석하는 데 유용합니다 [3, 4, 9]. 엔지니어는 트레이스를 분석하여 "CrRendererMain"은 비어있으나 "CrGpuMain"이 계속 활성화되어 있는 것을 보고 시스템이 GPU 바운드(GPU bound) 상태인지 등을 정확히 파악할 수 있습니다 [4, 10, 11].
|
||||
|
||||
## ⚠️ 모순 및 업데이트 (Contradictions & RL Update)
|
||||
- **과거 데이터와의 충돌:** 자동화 엔진에 의해 매핑된 지식으로, 추후 정밀 검증 필요.
|
||||
- **정책 변화:** Graphics & Performance 분야의 자동 자산화 수행.
|
||||
|
||||
## 🔗 지식 연결 (Graph)
|
||||
- **Related Topics:** [[WebGPU]], [[Timestamp Queries]], [[Spectre and Meltdown]]
|
||||
- **Projects/Contexts:** [[Chrome DevTools]], [[about:tracing]]
|
||||
- **Contradictions/Notes:** 타임스탬프 쿼리 해상도와 관련하여 초기에는 격리된 컨텍스트(isolated contexts) 여부에 따라 다르게 노출되는 방안이 논의되었으나, 향후 W3C의 High Resolution Time 사양과 일치시켜 사이트 격리 여부와 관계없이 100 마이크로초(100us) 해상도를 허용하는 방향으로 GPU for the Web Community Group에서 합의를 이루었습니다 [6, 12, 13].
|
||||
|
||||
---
|
||||
*Last updated: 2026-04-19*
|
||||
- Raw Source: [[00_Raw/2026-04-20/Chrome (Blink_Dawn).md]]
|
||||
---
|
||||
+32
@@ -0,0 +1,32 @@
|
||||
---
|
||||
id: P-REINFORCE-AUTO-7025AF
|
||||
category: "[[10_Wiki/💡 Topics/Graphics & Performance]]"
|
||||
confidence_score: 0.90
|
||||
tags: [auto-reinforced]
|
||||
last_reinforced: 2026-04-20
|
||||
github_commit: "[P-Reinforce] Continuous Worker - Chromium WebGPU Implementation"
|
||||
---
|
||||
|
||||
# [[Chromium WebGPU Implementation]]
|
||||
|
||||
## 📌 한 줄 통찰 (The Karpathy Summary)
|
||||
> Chromium의 WebGPU 구현은 **Dawn**이라는 백엔드를 기반으로 하는 차세대 웹 그래픽 및 컴퓨팅 API입니다 [1, 2]. 보안 이슈를 방지하기 위한 타임스탬프 양자화(Timestamp Quantization)와 같은 세밀한 기능이 구현되어 있으며, 싱글 스레드 기반인 WebGL의 한계를 넘어 멀티 스레드 명령 생성과 강력한 컴퓨트 셰이더 기능을 통해 브라우저 내에서 고성능 그래픽과 병렬 연산을 지원합니다 [1, 3, 4].
|
||||
|
||||
## 📖 구조화된 지식 (Synthesized Content)
|
||||
* **Dawn 백엔드 및 구조:** Chromium에서 WebGPU API를 구동하는 내부 백엔드 엔진의 이름은 Dawn입니다 [1, 2]. 이 구현체는 WebGL의 기존 싱글 스레드 명령 제출 모델에서 벗어나, 여러 스레드에서 동시에 렌더링 명령을 준비(Multi-Threaded Command Generation)할 수 있도록 설계되어 CPU 오버헤드를 대폭 줄이고 GPU 활용도를 극대화합니다 [3].
|
||||
* **보안 및 타임스탬프 양자화 (Timestamp Quantization):** 고정밀 타이머를 악용한 캐시 사이드 채널 공격(예: Spectre 및 Meltdown)을 방지하기 위해, Blink 및 Dawn 구현체는 타임스탬프 쿼리 결과의 해상도를 100 마이크로초(µs)로 양자화(Coarsening)하여 제공합니다 [1, 5, 6]. Chrome은 초기에는 보안을 위해 격리되지 않은 컨텍스트(non-isolated contexts)에서 이를 완전히 비활성화하려 했으나, 최종적으로 웹 표준 상호 운용성을 고려해 격리 여부와 무관하게 100µs 해상도를 제공하는 것으로 합의되었습니다 [5-7]. 단, 로컬 개발 환경에서 정밀한 성능 프로파일링이 필요할 때는 `chrome://flags`에서 "WebGPU Developer Features" 및 "Unsafe WebGPU Support" 플래그를 켜서 이 양자화를 비활성화할 수 있습니다 [1, 2].
|
||||
* **버전별 주요 진화 과정:** Chrome 113 버전에서 WebGPU가 최초로 기본 활성화된 이후, Chromium 팀은 렌더링 및 머신러닝 기능 확장을 지속해 왔습니다 [8, 9]. 예를 들어, Chrome 120에서는 WGSL 내 16비트 부동소수점(`f16`) 지원을 추가하여 Llama2 모델과 같은 LLM 추론 속도를 비약적으로 향상시켰습니다 [10]. 이후 버전들에서는 서브그룹(Subgroup) 연산 확장, 3D 텍스처 포맷 지원, OpenGL ES 3.1 호환성 모드 등 다양한 GPU 메모리 및 파이프라인 한도(limits)를 상향 조정해나가고 있습니다 [11-14].
|
||||
|
||||
## ⚠️ 모순 및 업데이트 (Contradictions & RL Update)
|
||||
- **과거 데이터와의 충돌:** 자동화 엔진에 의해 매핑된 지식으로, 추후 정밀 검증 필요.
|
||||
- **정책 변화:** Graphics & Performance 분야의 자동 자산화 수행.
|
||||
|
||||
## 🔗 지식 연결 (Graph)
|
||||
- **Related Topics:** [[WebGPU]], [[Dawn]], [[Timestamp Quantization]], [[WGSL]]
|
||||
- **Projects/Contexts:** [[Chromium Project]], [[GPU for the Web Community Group]]
|
||||
- **Contradictions/Notes:** 타임스탬프 쿼리 기능 노출과 관련하여, 초기 Chromium(Blink) 인텐트는 Cross-Origin 격리되지 않은 컨텍스트에서 타임스탬프 쿼리를 완전히 비활성화할 계획을 세웠으나(보안 우려), 다른 브라우저 벤더 및 W3C 그룹과의 상호 운용성 논의를 거쳐 격리 여부와 무관하게 hr-time과 동일한 100µs 단위로 노출하는 방향으로 스펙 및 구현 방침이 변경되었습니다 [5-7].
|
||||
|
||||
---
|
||||
*Last updated: 2026-04-19*
|
||||
- Raw Source: [[00_Raw/2026-04-20/Chromium WebGPU Implementation.md]]
|
||||
---
|
||||
@@ -0,0 +1,25 @@
|
||||
---
|
||||
id: P-REINFORCE-AUTO-29F633
|
||||
category: "[[10_Wiki/💡 Topics/Graphics & Performance]]"
|
||||
confidence_score: 0.90
|
||||
tags: [auto-reinforced]
|
||||
last_reinforced: 2026-04-20
|
||||
github_commit: "[P-Reinforce] Continuous Worker - Cognitive Load Theory"
|
||||
---
|
||||
|
||||
# [[Cognitive Load Theory]]
|
||||
|
||||
## 📌 한 줄 통찰 (The Karpathy Summary)
|
||||
> 지식 요약 정보 추출 중...
|
||||
|
||||
## 📖 구조화된 지식 (Synthesized Content)
|
||||
본문 구조화 작업 중...
|
||||
|
||||
## ⚠️ 모순 및 업데이트 (Contradictions & RL Update)
|
||||
- **과거 데이터와의 충돌:** 자동화 엔진에 의해 매핑된 지식으로, 추후 정밀 검증 필요.
|
||||
- **정책 변화:** Graphics & Performance 분야의 자동 자산화 수행.
|
||||
|
||||
## 🔗 지식 연결 (Graph)
|
||||
|
||||
- Raw Source: [[00_Raw/2026-04-20/Cognitive Load Theory.md]]
|
||||
---
|
||||
@@ -0,0 +1,25 @@
|
||||
---
|
||||
id: P-REINFORCE-AUTO-B1006C
|
||||
category: "[[10_Wiki/💡 Topics/Graphics & Performance]]"
|
||||
confidence_score: 0.90
|
||||
tags: [auto-reinforced]
|
||||
last_reinforced: 2026-04-20
|
||||
github_commit: "[P-Reinforce] Continuous Worker - Cognitive-Load-Theory"
|
||||
---
|
||||
|
||||
# [[Cognitive-Load-Theory]]
|
||||
|
||||
## 📌 한 줄 통찰 (The Karpathy Summary)
|
||||
> 지식 요약 정보 추출 중...
|
||||
|
||||
## 📖 구조화된 지식 (Synthesized Content)
|
||||
본문 구조화 작업 중...
|
||||
|
||||
## ⚠️ 모순 및 업데이트 (Contradictions & RL Update)
|
||||
- **과거 데이터와의 충돌:** 자동화 엔진에 의해 매핑된 지식으로, 추후 정밀 검증 필요.
|
||||
- **정책 변화:** Graphics & Performance 분야의 자동 자산화 수행.
|
||||
|
||||
## 🔗 지식 연결 (Graph)
|
||||
|
||||
- Raw Source: [[00_Raw/2026-04-20/Cognitive-Load-Theory.md]]
|
||||
---
|
||||
+25
@@ -0,0 +1,25 @@
|
||||
---
|
||||
id: P-REINFORCE-AUTO-617D95
|
||||
category: "[[10_Wiki/💡 Topics/Graphics & Performance]]"
|
||||
confidence_score: 0.90
|
||||
tags: [auto-reinforced]
|
||||
last_reinforced: 2026-04-20
|
||||
github_commit: "[P-Reinforce] Continuous Worker - Collaborative Learning Environments"
|
||||
---
|
||||
|
||||
# [[Collaborative Learning Environments]]
|
||||
|
||||
## 📌 한 줄 통찰 (The Karpathy Summary)
|
||||
> 지식 요약 정보 추출 중...
|
||||
|
||||
## 📖 구조화된 지식 (Synthesized Content)
|
||||
본문 구조화 작업 중...
|
||||
|
||||
## ⚠️ 모순 및 업데이트 (Contradictions & RL Update)
|
||||
- **과거 데이터와의 충돌:** 자동화 엔진에 의해 매핑된 지식으로, 추후 정밀 검증 필요.
|
||||
- **정책 변화:** Graphics & Performance 분야의 자동 자산화 수행.
|
||||
|
||||
## 🔗 지식 연결 (Graph)
|
||||
|
||||
- Raw Source: [[00_Raw/2026-04-20/Collaborative Learning Environments.md]]
|
||||
---
|
||||
+25
@@ -0,0 +1,25 @@
|
||||
---
|
||||
id: P-REINFORCE-AUTO-69DA0B
|
||||
category: "[[10_Wiki/💡 Topics/Graphics & Performance]]"
|
||||
confidence_score: 0.90
|
||||
tags: [auto-reinforced]
|
||||
last_reinforced: 2026-04-20
|
||||
github_commit: "[P-Reinforce] Continuous Worker - Competitive Esports Ecosystems"
|
||||
---
|
||||
|
||||
# [[Competitive Esports Ecosystems]]
|
||||
|
||||
## 📌 한 줄 통찰 (The Karpathy Summary)
|
||||
> 지식 요약 정보 추출 중...
|
||||
|
||||
## 📖 구조화된 지식 (Synthesized Content)
|
||||
본문 구조화 작업 중...
|
||||
|
||||
## ⚠️ 모순 및 업데이트 (Contradictions & RL Update)
|
||||
- **과거 데이터와의 충돌:** 자동화 엔진에 의해 매핑된 지식으로, 추후 정밀 검증 필요.
|
||||
- **정책 변화:** Graphics & Performance 분야의 자동 자산화 수행.
|
||||
|
||||
## 🔗 지식 연결 (Graph)
|
||||
|
||||
- Raw Source: [[00_Raw/2026-04-20/Competitive Esports Ecosystems.md]]
|
||||
---
|
||||
@@ -0,0 +1,25 @@
|
||||
---
|
||||
id: P-REINFORCE-AUTO-563573
|
||||
category: "[[10_Wiki/💡 Topics/Graphics & Performance]]"
|
||||
confidence_score: 0.90
|
||||
tags: [auto-reinforced]
|
||||
last_reinforced: 2026-04-20
|
||||
github_commit: "[P-Reinforce] Continuous Worker - Computational Ecology"
|
||||
---
|
||||
|
||||
# [[Computational Ecology]]
|
||||
|
||||
## 📌 한 줄 통찰 (The Karpathy Summary)
|
||||
> 지식 요약 정보 추출 중...
|
||||
|
||||
## 📖 구조화된 지식 (Synthesized Content)
|
||||
본문 구조화 작업 중...
|
||||
|
||||
## ⚠️ 모순 및 업데이트 (Contradictions & RL Update)
|
||||
- **과거 데이터와의 충돌:** 자동화 엔진에 의해 매핑된 지식으로, 추후 정밀 검증 필요.
|
||||
- **정책 변화:** Graphics & Performance 분야의 자동 자산화 수행.
|
||||
|
||||
## 🔗 지식 연결 (Graph)
|
||||
|
||||
- Raw Source: [[00_Raw/2026-04-20/Computational Ecology.md]]
|
||||
---
|
||||
@@ -0,0 +1,34 @@
|
||||
---
|
||||
id: P-REINFORCE-AUTO-B1DBB3
|
||||
category: "[[10_Wiki/💡 Topics/Graphics & Performance]]"
|
||||
confidence_score: 0.90
|
||||
tags: [auto-reinforced]
|
||||
last_reinforced: 2026-04-20
|
||||
github_commit: "[P-Reinforce] Continuous Worker - Compute Shaders"
|
||||
---
|
||||
|
||||
# [[Compute Shaders]]
|
||||
|
||||
## 📌 한 줄 통찰 (The Karpathy Summary)
|
||||
> 컴퓨트 셰이더(Compute Shaders)는 WebGPU 환경에서 지원되는 기능으로, CPU의 메인 스레드에서 수행되던 무거운 범용 연산 작업을 GPU로 오프로드하는 핵심 기술입니다 [1, 2]. GPU의 수천 개 코어를 활용한 병렬 처리를 통해 물리 시뮬레이션, 충돌 감지, 대규모 파티클 시스템 등의 작업 성능을 비약적으로 향상시킵니다 [2]. 또한 간접 그리기(Indirect Drawing) 기술과 결합하여 CPU의 개입 없이 가시성을 판별하고 화면을 그리는 완전한 GPU 주도 렌더링(GPU-driven Rendering) 파이프라인을 구축하는 데 사용됩니다 [3, 4].
|
||||
|
||||
## 📖 구조화된 지식 (Synthesized Content)
|
||||
* **범용 GPU 연산 및 성능 향상:** 컴퓨트 셰이더는 물리 시뮬레이션, 충돌 감지, 유체 시뮬레이션, 이미지 처리, 대규모 데이터 필터링, 절차적 지형 생성 등 복잡한 연산을 CPU 대신 GPU에서 병렬로 처리합니다 [2, 5-8]. 기존 CPU 기반 파티클 업데이트는 약 5만 개 수준에서 병목이 발생하지만, WebGPU 컴퓨트 셰이더를 활용하면 10만 개의 파티클을 2ms 이내에 업데이트하여 최대 150배의 성능 향상을 내며 수백만 개의 유닛을 처리할 수 있습니다 [9-12].
|
||||
* **GPU 주도 렌더링 및 컬링 (GPU-driven Rendering & Culling):** 간접 그리기(Indirect Drawing) 명령과 결합하여 극도로 효율적인 렌더링 파이프라인을 구성합니다 [4, 13]. 컴퓨트 셰이더가 모든 인스턴스에 대해 시야 절두체(Frustum) 및 오클루전(Occlusion) 컬링 판별을 수행하고, 화면에 보이는 객체 정보만 원자적 카운터(Atomic Counter)를 통해 간접 그리기 버퍼에 추가합니다 [3, 4, 14]. 이를 통해 CPU와 GPU 간의 데이터 동기화 지연과 명령 발행 오버헤드가 사실상 0에 수렴하게 됩니다 [4, 15].
|
||||
* **데이터 공유 및 메모리 최적화:** 읽기와 쓰기가 모두 가능한 스토리지 텍스처(Storage Textures)를 활용해 GPU 기반 렌더링과 효과 처리를 유연하게 수행합니다 [6, 16]. 또한 스레드 간 데이터 공유가 필요한 경우, 반복 접근 패턴에서 전역 메모리보다 10~100배 더 빠른 작업 그룹 공유 메모리(Workgroup Shared Memory)를 활용할 수 있습니다 [7, 13].
|
||||
* **고급 연산 기법 지원:** 컴퓨트 단계에서 메쉬 정점 변환을 처리하고 그 결과를 버퍼에 저장해 불필요한 중복 연산을 제거하는 '컴퓨트 스키닝(Compute Skinning)'이 가능해집니다 [12]. 또한 glTF 모델에 흔히 쓰이는 8비트/16비트 정수 데이터를 32비트 포맷으로 압축 해제하는 작업도 렌더링 파이프라인 외곽에서 효율적으로 수행할 수 있습니다 [12].
|
||||
* **동기화 및 파이프라인 제어 베스트 프랙티스:** 연산 의존성이 높은 씬을 Three.js에서 렌더링할 때는 `renderAsync`를 사용하여 렌더 패스가 시작되기 전에 컴퓨트 패스가 완전히 끝나도록 동기화해야 합니다 [17]. 성능 처리량을 극대화하기 위해서는 스테이징 버퍼(Staging Buffers)를 활용한 이중 버퍼링(Double-buffering)을 적용하는 것이 좋으며, 디스패치 사이에 `await mapAsync()`를 호출할 경우 GPU 파이프라인을 멈추게 만들 수 있으므로 지양해야 합니다 [18].
|
||||
|
||||
## ⚠️ 모순 및 업데이트 (Contradictions & RL Update)
|
||||
- **과거 데이터와의 충돌:** 자동화 엔진에 의해 매핑된 지식으로, 추후 정밀 검증 필요.
|
||||
- **정책 변화:** Graphics & Performance 분야의 자동 자산화 수행.
|
||||
|
||||
## 🔗 지식 연결 (Graph)
|
||||
- **Related Topics:** `[[WebGPU]]`, `[[GPU-driven Rendering]]`, `[[Indirect Drawing]]`, `[[Storage Textures]]`, `[[Frustum Culling]]`
|
||||
- **Projects/Contexts:** `[[Three.js]]`, `[[Segments.ai]]`, `[[BIM Datasets]]`
|
||||
- **Contradictions/Notes:** 컴퓨트 셰이더는 엄청난 성능 향상을 제공하지만 구형 API인 WebGL이나 WebGL 2에서는 지원되지 않아 WebGPU 환경이 필수적입니다 [1]. 또한 GPU 최적화를 제대로 다루지 못해 동기화 대기(`await mapAsync()`)를 남용할 경우, 오히려 GPU가 최대 60%의 시간 동안 유휴 상태(Idle)에 빠지는 병목 현상을 유발할 수 있습니다 [18].
|
||||
|
||||
---
|
||||
*Last updated: 2026-04-19*
|
||||
- Raw Source: [[00_Raw/2026-04-20/Compute Shaders.md]]
|
||||
---
|
||||
@@ -0,0 +1,25 @@
|
||||
---
|
||||
id: P-REINFORCE-AUTO-C1EBB8
|
||||
category: "[[10_Wiki/💡 Topics/Graphics & Performance]]"
|
||||
confidence_score: 0.90
|
||||
tags: [auto-reinforced]
|
||||
last_reinforced: 2026-04-20
|
||||
github_commit: "[P-Reinforce] Continuous Worker - Computer-Vision-Synthesis"
|
||||
---
|
||||
|
||||
# [[Computer-Vision-Synthesis]]
|
||||
|
||||
## 📌 한 줄 통찰 (The Karpathy Summary)
|
||||
> 지식 요약 정보 추출 중...
|
||||
|
||||
## 📖 구조화된 지식 (Synthesized Content)
|
||||
본문 구조화 작업 중...
|
||||
|
||||
## ⚠️ 모순 및 업데이트 (Contradictions & RL Update)
|
||||
- **과거 데이터와의 충돌:** 자동화 엔진에 의해 매핑된 지식으로, 추후 정밀 검증 필요.
|
||||
- **정책 변화:** Graphics & Performance 분야의 자동 자산화 수행.
|
||||
|
||||
## 🔗 지식 연결 (Graph)
|
||||
|
||||
- Raw Source: [[00_Raw/2026-04-20/Computer-Vision-Synthesis.md]]
|
||||
---
|
||||
@@ -0,0 +1,25 @@
|
||||
---
|
||||
id: P-REINFORCE-AUTO-DF48CA
|
||||
category: "[[10_Wiki/💡 Topics/Graphics & Performance]]"
|
||||
confidence_score: 0.90
|
||||
tags: [auto-reinforced]
|
||||
last_reinforced: 2026-04-20
|
||||
github_commit: "[P-Reinforce] Continuous Worker - Creative Process"
|
||||
---
|
||||
|
||||
# [[Creative Process]]
|
||||
|
||||
## 📌 한 줄 통찰 (The Karpathy Summary)
|
||||
> 지식 요약 정보 추출 중...
|
||||
|
||||
## 📖 구조화된 지식 (Synthesized Content)
|
||||
본문 구조화 작업 중...
|
||||
|
||||
## ⚠️ 모순 및 업데이트 (Contradictions & RL Update)
|
||||
- **과거 데이터와의 충돌:** 자동화 엔진에 의해 매핑된 지식으로, 추후 정밀 검증 필요.
|
||||
- **정책 변화:** Graphics & Performance 분야의 자동 자산화 수행.
|
||||
|
||||
## 🔗 지식 연결 (Graph)
|
||||
|
||||
- Raw Source: [[00_Raw/2026-04-20/Creative Process.md]]
|
||||
---
|
||||
@@ -0,0 +1,25 @@
|
||||
---
|
||||
id: P-REINFORCE-AUTO-0C480C
|
||||
category: "[[10_Wiki/💡 Topics/Graphics & Performance]]"
|
||||
confidence_score: 0.90
|
||||
tags: [auto-reinforced]
|
||||
last_reinforced: 2026-04-20
|
||||
github_commit: "[P-Reinforce] Continuous Worker - Critical-Play"
|
||||
---
|
||||
|
||||
# [[Critical-Play]]
|
||||
|
||||
## 📌 한 줄 통찰 (The Karpathy Summary)
|
||||
> 지식 요약 정보 추출 중...
|
||||
|
||||
## 📖 구조화된 지식 (Synthesized Content)
|
||||
본문 구조화 작업 중...
|
||||
|
||||
## ⚠️ 모순 및 업데이트 (Contradictions & RL Update)
|
||||
- **과거 데이터와의 충돌:** 자동화 엔진에 의해 매핑된 지식으로, 추후 정밀 검증 필요.
|
||||
- **정책 변화:** Graphics & Performance 분야의 자동 자산화 수행.
|
||||
|
||||
## 🔗 지식 연결 (Graph)
|
||||
|
||||
- Raw Source: [[00_Raw/2026-04-20/Critical-Play.md]]
|
||||
---
|
||||
@@ -0,0 +1,25 @@
|
||||
---
|
||||
id: P-REINFORCE-AUTO-90A1AA
|
||||
category: "[[10_Wiki/💡 Topics/Graphics & Performance]]"
|
||||
confidence_score: 0.90
|
||||
tags: [auto-reinforced]
|
||||
last_reinforced: 2026-04-20
|
||||
github_commit: "[P-Reinforce] Continuous Worker - Cultural-Heritage-Informatics"
|
||||
---
|
||||
|
||||
# [[Cultural-Heritage-Informatics]]
|
||||
|
||||
## 📌 한 줄 통찰 (The Karpathy Summary)
|
||||
> 지식 요약 정보 추출 중...
|
||||
|
||||
## 📖 구조화된 지식 (Synthesized Content)
|
||||
본문 구조화 작업 중...
|
||||
|
||||
## ⚠️ 모순 및 업데이트 (Contradictions & RL Update)
|
||||
- **과거 데이터와의 충돌:** 자동화 엔진에 의해 매핑된 지식으로, 추후 정밀 검증 필요.
|
||||
- **정책 변화:** Graphics & Performance 분야의 자동 자산화 수행.
|
||||
|
||||
## 🔗 지식 연결 (Graph)
|
||||
|
||||
- Raw Source: [[00_Raw/2026-04-20/Cultural-Heritage-Informatics.md]]
|
||||
---
|
||||
@@ -0,0 +1,25 @@
|
||||
---
|
||||
id: P-REINFORCE-AUTO-78F905
|
||||
category: "[[10_Wiki/💡 Topics/Graphics & Performance]]"
|
||||
confidence_score: 0.90
|
||||
tags: [auto-reinforced]
|
||||
last_reinforced: 2026-04-20
|
||||
github_commit: "[P-Reinforce] Continuous Worker - CyArk"
|
||||
---
|
||||
|
||||
# [[CyArk]]
|
||||
|
||||
## 📌 한 줄 통찰 (The Karpathy Summary)
|
||||
> 지식 요약 정보 추출 중...
|
||||
|
||||
## 📖 구조화된 지식 (Synthesized Content)
|
||||
본문 구조화 작업 중...
|
||||
|
||||
## ⚠️ 모순 및 업데이트 (Contradictions & RL Update)
|
||||
- **과거 데이터와의 충돌:** 자동화 엔진에 의해 매핑된 지식으로, 추후 정밀 검증 필요.
|
||||
- **정책 변화:** Graphics & Performance 분야의 자동 자산화 수행.
|
||||
|
||||
## 🔗 지식 연결 (Graph)
|
||||
|
||||
- Raw Source: [[00_Raw/2026-04-20/CyArk.md]]
|
||||
---
|
||||
@@ -0,0 +1,25 @@
|
||||
---
|
||||
id: P-REINFORCE-AUTO-896181
|
||||
category: "[[10_Wiki/💡 Topics/Graphics & Performance]]"
|
||||
confidence_score: 0.90
|
||||
tags: [auto-reinforced]
|
||||
last_reinforced: 2026-04-20
|
||||
github_commit: "[P-Reinforce] Continuous Worker - Cybertext Theory"
|
||||
---
|
||||
|
||||
# [[Cybertext Theory]]
|
||||
|
||||
## 📌 한 줄 통찰 (The Karpathy Summary)
|
||||
> 지식 요약 정보 추출 중...
|
||||
|
||||
## 📖 구조화된 지식 (Synthesized Content)
|
||||
본문 구조화 작업 중...
|
||||
|
||||
## ⚠️ 모순 및 업데이트 (Contradictions & RL Update)
|
||||
- **과거 데이터와의 충돌:** 자동화 엔진에 의해 매핑된 지식으로, 추후 정밀 검증 필요.
|
||||
- **정책 변화:** Graphics & Performance 분야의 자동 자산화 수행.
|
||||
|
||||
## 🔗 지식 연결 (Graph)
|
||||
|
||||
- Raw Source: [[00_Raw/2026-04-20/Cybertext Theory.md]]
|
||||
---
|
||||
@@ -0,0 +1,25 @@
|
||||
---
|
||||
id: P-REINFORCE-AUTO-0B4232
|
||||
category: "[[10_Wiki/💡 Topics/Graphics & Performance]]"
|
||||
confidence_score: 0.90
|
||||
tags: [auto-reinforced]
|
||||
last_reinforced: 2026-04-20
|
||||
github_commit: "[P-Reinforce] Continuous Worker - DBpedia"
|
||||
---
|
||||
|
||||
# [[DBpedia]]
|
||||
|
||||
## 📌 한 줄 통찰 (The Karpathy Summary)
|
||||
> 지식 요약 정보 추출 중...
|
||||
|
||||
## 📖 구조화된 지식 (Synthesized Content)
|
||||
본문 구조화 작업 중...
|
||||
|
||||
## ⚠️ 모순 및 업데이트 (Contradictions & RL Update)
|
||||
- **과거 데이터와의 충돌:** 자동화 엔진에 의해 매핑된 지식으로, 추후 정밀 검증 필요.
|
||||
- **정책 변화:** Graphics & Performance 분야의 자동 자산화 수행.
|
||||
|
||||
## 🔗 지식 연결 (Graph)
|
||||
|
||||
- Raw Source: [[00_Raw/2026-04-20/DBpedia.md]]
|
||||
---
|
||||
@@ -0,0 +1,25 @@
|
||||
---
|
||||
id: P-REINFORCE-AUTO-A1EFBC
|
||||
category: "[[10_Wiki/💡 Topics/Graphics & Performance]]"
|
||||
confidence_score: 0.90
|
||||
tags: [auto-reinforced]
|
||||
last_reinforced: 2026-04-20
|
||||
github_commit: "[P-Reinforce] Continuous Worker - Digital Sandbox Theory"
|
||||
---
|
||||
|
||||
# [[Digital Sandbox Theory]]
|
||||
|
||||
## 📌 한 줄 통찰 (The Karpathy Summary)
|
||||
> 지식 요약 정보 추출 중...
|
||||
|
||||
## 📖 구조화된 지식 (Synthesized Content)
|
||||
본문 구조화 작업 중...
|
||||
|
||||
## ⚠️ 모순 및 업데이트 (Contradictions & RL Update)
|
||||
- **과거 데이터와의 충돌:** 자동화 엔진에 의해 매핑된 지식으로, 추후 정밀 검증 필요.
|
||||
- **정책 변화:** Graphics & Performance 분야의 자동 자산화 수행.
|
||||
|
||||
## 🔗 지식 연결 (Graph)
|
||||
|
||||
- Raw Source: [[00_Raw/2026-04-20/Digital Sandbox Theory.md]]
|
||||
---
|
||||
@@ -0,0 +1,25 @@
|
||||
---
|
||||
id: P-REINFORCE-AUTO-F0B4B1
|
||||
category: "[[10_Wiki/💡 Topics/Graphics & Performance]]"
|
||||
confidence_score: 0.90
|
||||
tags: [auto-reinforced]
|
||||
last_reinforced: 2026-04-20
|
||||
github_commit: "[P-Reinforce] Continuous Worker - Digital Twin Visualization"
|
||||
---
|
||||
|
||||
# [[Digital Twin Visualization]]
|
||||
|
||||
## 📌 한 줄 통찰 (The Karpathy Summary)
|
||||
> 지식 요약 정보 추출 중...
|
||||
|
||||
## 📖 구조화된 지식 (Synthesized Content)
|
||||
본문 구조화 작업 중...
|
||||
|
||||
## ⚠️ 모순 및 업데이트 (Contradictions & RL Update)
|
||||
- **과거 데이터와의 충돌:** 자동화 엔진에 의해 매핑된 지식으로, 추후 정밀 검증 필요.
|
||||
- **정책 변화:** Graphics & Performance 분야의 자동 자산화 수행.
|
||||
|
||||
## 🔗 지식 연결 (Graph)
|
||||
|
||||
- Raw Source: [[00_Raw/2026-04-20/Digital Twin Visualization.md]]
|
||||
---
|
||||
@@ -0,0 +1,32 @@
|
||||
---
|
||||
id: P-REINFORCE-AUTO-D41B4F
|
||||
category: "[[10_Wiki/💡 Topics/Graphics & Performance]]"
|
||||
confidence_score: 0.90
|
||||
tags: [auto-reinforced]
|
||||
last_reinforced: 2026-04-20
|
||||
github_commit: "[P-Reinforce] Continuous Worker - Direct3D"
|
||||
---
|
||||
|
||||
# [[Direct3D]]
|
||||
|
||||
## 📌 한 줄 통찰 (The Karpathy Summary)
|
||||
> Direct3D(D3D11, D3D12 등 포함)는 주요 네이티브 그래픽스 API로, Windows 환경의 웹 브라우저에서 그래픽 렌더링의 핵심 백엔드 역할을 합니다 [1, 2]. 최신 버전인 Direct3D 12는 Vulkan, Metal과 함께 차세대 웹 그래픽스 표준인 WebGPU의 설계와 아키텍처에 직접적인 영감을 준 현대적인 API입니다 [3].
|
||||
|
||||
## 📖 구조화된 지식 (Synthesized Content)
|
||||
- **WebGL 호출 변환 (ANGLE의 활용):** Windows 운영 체제에서 Chrome, Firefox, Opera 등의 웹 브라우저는 ANGLE(Almost Native Graphics Layer Engine)을 사용하여 WebGL(OpenGL ES) 호출을 Direct3D로 변환하여 처리합니다 [1]. (필요에 따라 개발자는 ANGLE을 우회하여 네이티브 OpenGL 구현을 테스트할 수 있습니다 [1]).
|
||||
- **WebGPU 아키텍처 설계의 기반:** WebGPU는 기존의 노후화된 OpenGL 표준을 기반으로 구축된 WebGL과 달리, 처음부터 최신 GPU 하드웨어를 위해 설계되었습니다 [3]. 이 과정에서 Direct3D 12는 Vulkan, Metal과 같은 여타 최신 API들과 함께 WebGPU가 차용하고 참고한 핵심적인 현대 그래픽스 API로 평가받습니다 [3].
|
||||
- **WebGPU 백엔드 어댑터 지원:** WebGPU 환경에서 `requestAdapterInfo()`를 호출하여 확인할 수 있는 백엔드(backend) 속성 값에는 'D3D11'과 'D3D12'가 포함되어 있습니다 [2]. Chrome 115 릴리스에서는 Direct3D 11에 대한 실험적 지원(Experimental support)이 추가되기도 하였습니다 [4].
|
||||
|
||||
## ⚠️ 모순 및 업데이트 (Contradictions & RL Update)
|
||||
- **과거 데이터와의 충돌:** 자동화 엔진에 의해 매핑된 지식으로, 추후 정밀 검증 필요.
|
||||
- **정책 변화:** Graphics & Performance 분야의 자동 자산화 수행.
|
||||
|
||||
## 🔗 지식 연결 (Graph)
|
||||
- **Related Topics:** [[WebGL]], [[WebGPU]], [[ANGLE]], [[Vulkan]], [[Metal]]
|
||||
- **Projects/Contexts:** [[브라우저 그래픽 렌더링 백엔드]], [[Chrome WebGPU 구현]]
|
||||
- **Contradictions/Notes:** Direct3D 자체의 내부 구조나 깊이 있는 기술적 명세에 대해서는 소스에 관련 정보가 부족합니다.
|
||||
|
||||
---
|
||||
*Last updated: 2026-04-19*
|
||||
- Raw Source: [[00_Raw/2026-04-20/Direct3D.md]]
|
||||
---
|
||||
@@ -0,0 +1,25 @@
|
||||
---
|
||||
id: P-REINFORCE-AUTO-6D19F6
|
||||
category: "[[10_Wiki/💡 Topics/Graphics & Performance]]"
|
||||
confidence_score: 0.90
|
||||
tags: [auto-reinforced]
|
||||
last_reinforced: 2026-04-20
|
||||
github_commit: "[P-Reinforce] Continuous Worker - Drama-Management-Systems"
|
||||
---
|
||||
|
||||
# [[Drama-Management-Systems]]
|
||||
|
||||
## 📌 한 줄 통찰 (The Karpathy Summary)
|
||||
> 지식 요약 정보 추출 중...
|
||||
|
||||
## 📖 구조화된 지식 (Synthesized Content)
|
||||
본문 구조화 작업 중...
|
||||
|
||||
## ⚠️ 모순 및 업데이트 (Contradictions & RL Update)
|
||||
- **과거 데이터와의 충돌:** 자동화 엔진에 의해 매핑된 지식으로, 추후 정밀 검증 필요.
|
||||
- **정책 변화:** Graphics & Performance 분야의 자동 자산화 수행.
|
||||
|
||||
## 🔗 지식 연결 (Graph)
|
||||
|
||||
- Raw Source: [[00_Raw/2026-04-20/Drama-Management-Systems.md]]
|
||||
---
|
||||
@@ -0,0 +1,25 @@
|
||||
---
|
||||
id: P-REINFORCE-AUTO-92B7C5
|
||||
category: "[[10_Wiki/💡 Topics/Graphics & Performance]]"
|
||||
confidence_score: 0.90
|
||||
tags: [auto-reinforced]
|
||||
last_reinforced: 2026-04-20
|
||||
github_commit: "[P-Reinforce] Continuous Worker - Dual-Track-Agile"
|
||||
---
|
||||
|
||||
# [[Dual-Track-Agile]]
|
||||
|
||||
## 📌 한 줄 통찰 (The Karpathy Summary)
|
||||
> 지식 요약 정보 추출 중...
|
||||
|
||||
## 📖 구조화된 지식 (Synthesized Content)
|
||||
본문 구조화 작업 중...
|
||||
|
||||
## ⚠️ 모순 및 업데이트 (Contradictions & RL Update)
|
||||
- **과거 데이터와의 충돌:** 자동화 엔진에 의해 매핑된 지식으로, 추후 정밀 검증 필요.
|
||||
- **정책 변화:** Graphics & Performance 분야의 자동 자산화 수행.
|
||||
|
||||
## 🔗 지식 연결 (Graph)
|
||||
|
||||
- Raw Source: [[00_Raw/2026-04-20/Dual-Track-Agile.md]]
|
||||
---
|
||||
+25
@@ -0,0 +1,25 @@
|
||||
---
|
||||
id: P-REINFORCE-AUTO-259FF2
|
||||
category: "[[10_Wiki/💡 Topics/Graphics & Performance]]"
|
||||
confidence_score: 0.90
|
||||
tags: [auto-reinforced]
|
||||
last_reinforced: 2026-04-20
|
||||
github_commit: "[P-Reinforce] Continuous Worker - Duolingo (Language Learning)] [Fitness Tracking Apps (Strava_Fitbit)] [EdTech Gamification] [FinTech Engagement Strategies"
|
||||
---
|
||||
|
||||
# [[Duolingo (Language Learning)] [Fitness Tracking Apps (Strava_Fitbit)] [EdTech Gamification] [FinTech Engagement Strategies]]
|
||||
|
||||
## 📌 한 줄 통찰 (The Karpathy Summary)
|
||||
> 지식 요약 정보 추출 중...
|
||||
|
||||
## 📖 구조화된 지식 (Synthesized Content)
|
||||
본문 구조화 작업 중...
|
||||
|
||||
## ⚠️ 모순 및 업데이트 (Contradictions & RL Update)
|
||||
- **과거 데이터와의 충돌:** 자동화 엔진에 의해 매핑된 지식으로, 추후 정밀 검증 필요.
|
||||
- **정책 변화:** Graphics & Performance 분야의 자동 자산화 수행.
|
||||
|
||||
## 🔗 지식 연결 (Graph)
|
||||
|
||||
- Raw Source: [[00_Raw/2026-04-20/Duolingo (Language Learning)], [Fitness Tracking Apps (Strava_Fitbit)], [EdTech Gamification], [FinTech Engagement Strategies.md]]
|
||||
---
|
||||
@@ -0,0 +1,25 @@
|
||||
---
|
||||
id: P-REINFORCE-AUTO-240DDB
|
||||
category: "[[10_Wiki/💡 Topics/Graphics & Performance]]"
|
||||
confidence_score: 0.90
|
||||
tags: [auto-reinforced]
|
||||
last_reinforced: 2026-04-20
|
||||
github_commit: "[P-Reinforce] Continuous Worker - Dynamic Assessment"
|
||||
---
|
||||
|
||||
# [[Dynamic Assessment]]
|
||||
|
||||
## 📌 한 줄 통찰 (The Karpathy Summary)
|
||||
> 지식 요약 정보 추출 중...
|
||||
|
||||
## 📖 구조화된 지식 (Synthesized Content)
|
||||
본문 구조화 작업 중...
|
||||
|
||||
## ⚠️ 모순 및 업데이트 (Contradictions & RL Update)
|
||||
- **과거 데이터와의 충돌:** 자동화 엔진에 의해 매핑된 지식으로, 추후 정밀 검증 필요.
|
||||
- **정책 변화:** Graphics & Performance 분야의 자동 자산화 수행.
|
||||
|
||||
## 🔗 지식 연결 (Graph)
|
||||
|
||||
- Raw Source: [[00_Raw/2026-04-20/Dynamic Assessment.md]]
|
||||
---
|
||||
@@ -0,0 +1,25 @@
|
||||
---
|
||||
id: P-REINFORCE-AUTO-9A39F2
|
||||
category: "[[10_Wiki/💡 Topics/Graphics & Performance]]"
|
||||
confidence_score: 0.90
|
||||
tags: [auto-reinforced]
|
||||
last_reinforced: 2026-04-20
|
||||
github_commit: "[P-Reinforce] Continuous Worker - Dynamical Systems Theory"
|
||||
---
|
||||
|
||||
# [[Dynamical Systems Theory]]
|
||||
|
||||
## 📌 한 줄 통찰 (The Karpathy Summary)
|
||||
> 지식 요약 정보 추출 중...
|
||||
|
||||
## 📖 구조화된 지식 (Synthesized Content)
|
||||
본문 구조화 작업 중...
|
||||
|
||||
## ⚠️ 모순 및 업데이트 (Contradictions & RL Update)
|
||||
- **과거 데이터와의 충돌:** 자동화 엔진에 의해 매핑된 지식으로, 추후 정밀 검증 필요.
|
||||
- **정책 변화:** Graphics & Performance 분야의 자동 자산화 수행.
|
||||
|
||||
## 🔗 지식 연결 (Graph)
|
||||
|
||||
- Raw Source: [[00_Raw/2026-04-20/Dynamical Systems Theory.md]]
|
||||
---
|
||||
@@ -0,0 +1,30 @@
|
||||
---
|
||||
id: P-REINFORCE-AUTO-496C9B
|
||||
category: "[[10_Wiki/💡 Topics/Graphics & Performance]]"
|
||||
confidence_score: 0.90
|
||||
tags: [auto-reinforced]
|
||||
last_reinforced: 2026-04-20
|
||||
github_commit: "[P-Reinforce] Continuous Worker - EXT_disjoint_timer_query"
|
||||
---
|
||||
|
||||
# [[EXT_disjoint_timer_query]]
|
||||
|
||||
## 📌 한 줄 통찰 (The Karpathy Summary)
|
||||
> `EXT_disjoint_timer_query`는 렌더링 파이프라인을 멈추지 않고 GPU에서 실행되는 GL 명령어 세트의 소요 시간을 측정할 수 있게 해주는 WebGL API 확장 기능입니다 [1, 2]. 개발자들은 이를 통해 하드웨어 수준에서 명령어 실행의 시작과 끝을 기록하여 비동기 실행 모델의 미세 지연(Micro-latency)을 정확히 측정할 수 있었습니다 [1, 3]. 그러나 이 고정밀 타이머가 메모리 접근 패턴 관찰 등 부채널 공격(Side-channel attacks)에 악용될 수 있다는 보안상 취약점이 발견되어, 현재 대부분의 브라우저에서 비활성화되거나 정밀도가 크게 제한되었습니다 [3-5].
|
||||
|
||||
## 📖 구조화된 지식 (Synthesized Content)
|
||||
본문 구조화 작업 중...
|
||||
|
||||
## ⚠️ 모순 및 업데이트 (Contradictions & RL Update)
|
||||
- **과거 데이터와의 충돌:** 자동화 엔진에 의해 매핑된 지식으로, 추후 정밀 검증 필요.
|
||||
- **정책 변화:** Graphics & Performance 분야의 자동 자산화 수행.
|
||||
|
||||
## 🔗 지식 연결 (Graph)
|
||||
- **Related Topics:** [[Micro-latency]], [[Side-channel attacks]], [[Spectre and Meltdown]], [[Rowhammer attack]]
|
||||
- **Projects/Contexts:** [[WebGL API]], [[WebGPU Timestamp Queries]]
|
||||
- **Contradictions/Notes:** 소스 213은 Chrome이 Site Isolation이 적용된 플랫폼에서 `EXT_disjoint_timer_query`를 노출하여 작동한다고 보고하지만, 소스 380의 사용자는 Rowhammer 공격 방지를 이유로 "모든 브라우저에서 비활성화되어 전혀 작동하지 않는다(it is disabled in all browsers)"고 모순되게 주장합니다.
|
||||
|
||||
---
|
||||
*Last updated: 2026-04-19*
|
||||
- Raw Source: [[00_Raw/2026-04-20/EXT_disjoint_timer_query.md]]
|
||||
---
|
||||
@@ -0,0 +1,25 @@
|
||||
---
|
||||
id: P-REINFORCE-AUTO-6E0EC9
|
||||
category: "[[10_Wiki/💡 Topics/Graphics & Performance]]"
|
||||
confidence_score: 0.90
|
||||
tags: [auto-reinforced]
|
||||
last_reinforced: 2026-04-20
|
||||
github_commit: "[P-Reinforce] Continuous Worker - Ecosystem-Modeling"
|
||||
---
|
||||
|
||||
# [[Ecosystem-Modeling]]
|
||||
|
||||
## 📌 한 줄 통찰 (The Karpathy Summary)
|
||||
> 지식 요약 정보 추출 중...
|
||||
|
||||
## 📖 구조화된 지식 (Synthesized Content)
|
||||
본문 구조화 작업 중...
|
||||
|
||||
## ⚠️ 모순 및 업데이트 (Contradictions & RL Update)
|
||||
- **과거 데이터와의 충돌:** 자동화 엔진에 의해 매핑된 지식으로, 추후 정밀 검증 필요.
|
||||
- **정책 변화:** Graphics & Performance 분야의 자동 자산화 수행.
|
||||
|
||||
## 🔗 지식 연결 (Graph)
|
||||
|
||||
- Raw Source: [[00_Raw/2026-04-20/Ecosystem-Modeling.md]]
|
||||
---
|
||||
@@ -0,0 +1,25 @@
|
||||
---
|
||||
id: P-REINFORCE-AUTO-5D4E83
|
||||
category: "[[10_Wiki/💡 Topics/Graphics & Performance]]"
|
||||
confidence_score: 0.90
|
||||
tags: [auto-reinforced]
|
||||
last_reinforced: 2026-04-20
|
||||
github_commit: "[P-Reinforce] Continuous Worker - EdTech (Gamified Learning)"
|
||||
---
|
||||
|
||||
# [[EdTech (Gamified Learning)]]
|
||||
|
||||
## 📌 한 줄 통찰 (The Karpathy Summary)
|
||||
> 지식 요약 정보 추출 중...
|
||||
|
||||
## 📖 구조화된 지식 (Synthesized Content)
|
||||
본문 구조화 작업 중...
|
||||
|
||||
## ⚠️ 모순 및 업데이트 (Contradictions & RL Update)
|
||||
- **과거 데이터와의 충돌:** 자동화 엔진에 의해 매핑된 지식으로, 추후 정밀 검증 필요.
|
||||
- **정책 변화:** Graphics & Performance 분야의 자동 자산화 수행.
|
||||
|
||||
## 🔗 지식 연결 (Graph)
|
||||
|
||||
- Raw Source: [[00_Raw/2026-04-20/EdTech (Gamified Learning).md]]
|
||||
---
|
||||
@@ -0,0 +1,25 @@
|
||||
---
|
||||
id: P-REINFORCE-AUTO-8F5AE3
|
||||
category: "[[10_Wiki/💡 Topics/Graphics & Performance]]"
|
||||
confidence_score: 0.90
|
||||
tags: [auto-reinforced]
|
||||
last_reinforced: 2026-04-20
|
||||
github_commit: "[P-Reinforce] Continuous Worker - Educational-Gamification"
|
||||
---
|
||||
|
||||
# [[Educational-Gamification]]
|
||||
|
||||
## 📌 한 줄 통찰 (The Karpathy Summary)
|
||||
> 지식 요약 정보 추출 중...
|
||||
|
||||
## 📖 구조화된 지식 (Synthesized Content)
|
||||
본문 구조화 작업 중...
|
||||
|
||||
## ⚠️ 모순 및 업데이트 (Contradictions & RL Update)
|
||||
- **과거 데이터와의 충돌:** 자동화 엔진에 의해 매핑된 지식으로, 추후 정밀 검증 필요.
|
||||
- **정책 변화:** Graphics & Performance 분야의 자동 자산화 수행.
|
||||
|
||||
## 🔗 지식 연결 (Graph)
|
||||
|
||||
- Raw Source: [[00_Raw/2026-04-20/Educational-Gamification.md]]
|
||||
---
|
||||
+25
@@ -0,0 +1,25 @@
|
||||
---
|
||||
id: P-REINFORCE-AUTO-C2E060
|
||||
category: "[[10_Wiki/💡 Topics/Graphics & Performance]]"
|
||||
confidence_score: 0.90
|
||||
tags: [auto-reinforced]
|
||||
last_reinforced: 2026-04-20
|
||||
github_commit: "[P-Reinforce] Continuous Worker - Embodied Cognition in Virtual Reality"
|
||||
---
|
||||
|
||||
# [[Embodied Cognition in Virtual Reality]]
|
||||
|
||||
## 📌 한 줄 통찰 (The Karpathy Summary)
|
||||
> 지식 요약 정보 추출 중...
|
||||
|
||||
## 📖 구조화된 지식 (Synthesized Content)
|
||||
본문 구조화 작업 중...
|
||||
|
||||
## ⚠️ 모순 및 업데이트 (Contradictions & RL Update)
|
||||
- **과거 데이터와의 충돌:** 자동화 엔진에 의해 매핑된 지식으로, 추후 정밀 검증 필요.
|
||||
- **정책 변화:** Graphics & Performance 분야의 자동 자산화 수행.
|
||||
|
||||
## 🔗 지식 연결 (Graph)
|
||||
|
||||
- Raw Source: [[00_Raw/2026-04-20/Embodied Cognition in Virtual Reality.md]]
|
||||
---
|
||||
@@ -0,0 +1,25 @@
|
||||
---
|
||||
id: P-REINFORCE-AUTO-9F0879
|
||||
category: "[[10_Wiki/💡 Topics/Graphics & Performance]]"
|
||||
confidence_score: 0.90
|
||||
tags: [auto-reinforced]
|
||||
last_reinforced: 2026-04-20
|
||||
github_commit: "[P-Reinforce] Continuous Worker - Employee Engagement Systems"
|
||||
---
|
||||
|
||||
# [[Employee Engagement Systems]]
|
||||
|
||||
## 📌 한 줄 통찰 (The Karpathy Summary)
|
||||
> 지식 요약 정보 추출 중...
|
||||
|
||||
## 📖 구조화된 지식 (Synthesized Content)
|
||||
본문 구조화 작업 중...
|
||||
|
||||
## ⚠️ 모순 및 업데이트 (Contradictions & RL Update)
|
||||
- **과거 데이터와의 충돌:** 자동화 엔진에 의해 매핑된 지식으로, 추후 정밀 검증 필요.
|
||||
- **정책 변화:** Graphics & Performance 분야의 자동 자산화 수행.
|
||||
|
||||
## 🔗 지식 연결 (Graph)
|
||||
|
||||
- Raw Source: [[00_Raw/2026-04-20/Employee Engagement Systems.md]]
|
||||
---
|
||||
@@ -0,0 +1,25 @@
|
||||
---
|
||||
id: P-REINFORCE-AUTO-D5D1FD
|
||||
category: "[[10_Wiki/💡 Topics/Graphics & Performance]]"
|
||||
confidence_score: 0.90
|
||||
tags: [auto-reinforced]
|
||||
last_reinforced: 2026-04-20
|
||||
github_commit: "[P-Reinforce] Continuous Worker - Epidemiological Forecasting"
|
||||
---
|
||||
|
||||
# [[Epidemiological Forecasting]]
|
||||
|
||||
## 📌 한 줄 통찰 (The Karpathy Summary)
|
||||
> 지식 요약 정보 추출 중...
|
||||
|
||||
## 📖 구조화된 지식 (Synthesized Content)
|
||||
본문 구조화 작업 중...
|
||||
|
||||
## ⚠️ 모순 및 업데이트 (Contradictions & RL Update)
|
||||
- **과거 데이터와의 충돌:** 자동화 엔진에 의해 매핑된 지식으로, 추후 정밀 검증 필요.
|
||||
- **정책 변화:** Graphics & Performance 분야의 자동 자산화 수행.
|
||||
|
||||
## 🔗 지식 연결 (Graph)
|
||||
|
||||
- Raw Source: [[00_Raw/2026-04-20/Epidemiological Forecasting.md]]
|
||||
---
|
||||
@@ -0,0 +1,25 @@
|
||||
---
|
||||
id: P-REINFORCE-AUTO-5B9D2F
|
||||
category: "[[10_Wiki/💡 Topics/Graphics & Performance]]"
|
||||
confidence_score: 0.90
|
||||
tags: [auto-reinforced]
|
||||
last_reinforced: 2026-04-20
|
||||
github_commit: "[P-Reinforce] Continuous Worker - Epidemiological Modeling"
|
||||
---
|
||||
|
||||
# [[Epidemiological Modeling]]
|
||||
|
||||
## 📌 한 줄 통찰 (The Karpathy Summary)
|
||||
> 지식 요약 정보 추출 중...
|
||||
|
||||
## 📖 구조화된 지식 (Synthesized Content)
|
||||
본문 구조화 작업 중...
|
||||
|
||||
## ⚠️ 모순 및 업데이트 (Contradictions & RL Update)
|
||||
- **과거 데이터와의 충돌:** 자동화 엔진에 의해 매핑된 지식으로, 추후 정밀 검증 필요.
|
||||
- **정책 변화:** Graphics & Performance 분야의 자동 자산화 수행.
|
||||
|
||||
## 🔗 지식 연결 (Graph)
|
||||
|
||||
- Raw Source: [[00_Raw/2026-04-20/Epidemiological Modeling.md]]
|
||||
---
|
||||
@@ -0,0 +1,25 @@
|
||||
---
|
||||
id: P-REINFORCE-AUTO-1B7084
|
||||
category: "[[10_Wiki/💡 Topics/Graphics & Performance]]"
|
||||
confidence_score: 0.90
|
||||
tags: [auto-reinforced]
|
||||
last_reinforced: 2026-04-20
|
||||
github_commit: "[P-Reinforce] Continuous Worker - Expressjs-Type-Extensions"
|
||||
---
|
||||
|
||||
# [[Expressjs-Type-Extensions]]
|
||||
|
||||
## 📌 한 줄 통찰 (The Karpathy Summary)
|
||||
> 지식 요약 정보 추출 중...
|
||||
|
||||
## 📖 구조화된 지식 (Synthesized Content)
|
||||
본문 구조화 작업 중...
|
||||
|
||||
## ⚠️ 모순 및 업데이트 (Contradictions & RL Update)
|
||||
- **과거 데이터와의 충돌:** 자동화 엔진에 의해 매핑된 지식으로, 추후 정밀 검증 필요.
|
||||
- **정책 변화:** Graphics & Performance 분야의 자동 자산화 수행.
|
||||
|
||||
## 🔗 지식 연결 (Graph)
|
||||
|
||||
- Raw Source: [[00_Raw/2026-04-20/Express.js-Type-Extensions.md]]
|
||||
---
|
||||
@@ -0,0 +1,30 @@
|
||||
---
|
||||
id: P-REINFORCE-AUTO-332A17
|
||||
category: "[[10_Wiki/💡 Topics/Graphics & Performance]]"
|
||||
confidence_score: 0.90
|
||||
tags: [auto-reinforced]
|
||||
last_reinforced: 2026-04-20
|
||||
github_commit: "[P-Reinforce] Continuous Worker - FXAA"
|
||||
---
|
||||
|
||||
# [[FXAA]]
|
||||
|
||||
## 📌 한 줄 통찰 (The Karpathy Summary)
|
||||
> FXAA는 실시간 3D 렌더링 환경에서 사용되는 포스트 프로세싱(Post-processing) 안티앨리어싱(Anti-aliasing) 기법입니다. 화면 공간(Screen-space) 셰이더로 실행되어 오브젝트의 가장자리를 부드럽게 만들어 줍니다 [1]. 특히 모바일이나 저사양 기기에서 네이티브 안티앨리어싱을 대체하여 높은 렌더링 프레임 속도를 유지할 수 있도록 하는 매우 성능 효율적인 최적화 기술입니다 [1, 2].
|
||||
|
||||
## 📖 구조화된 지식 (Synthesized Content)
|
||||
본문 구조화 작업 중...
|
||||
|
||||
## ⚠️ 모순 및 업데이트 (Contradictions & RL Update)
|
||||
- **과거 데이터와의 충돌:** 자동화 엔진에 의해 매핑된 지식으로, 추후 정밀 검증 필요.
|
||||
- **정책 변화:** Graphics & Performance 분야의 자동 자산화 수행.
|
||||
|
||||
## 🔗 지식 연결 (Graph)
|
||||
- **Related Topics:** [[Anti-aliasing]], [[SMAA]], [[MSAA]], [[Post-Processing]]
|
||||
- **Projects/Contexts:** [[Three.js]], [[WebGL]]
|
||||
- **Contradictions/Notes:** 소스 간의 모순점은 없으며, 모든 소스가 공통적으로 무거운 네이티브 안티앨리어싱을 비활성화하고 FXAA를 포스트 프로세싱 후반부에 적용하는 것이 성능 확보에 필수적이라고 일관되게 권장합니다 [1-3].
|
||||
|
||||
---
|
||||
*Last updated: 2026-04-19*
|
||||
- Raw Source: [[00_Raw/2026-04-20/FXAA.md]]
|
||||
---
|
||||
@@ -0,0 +1,32 @@
|
||||
---
|
||||
id: P-REINFORCE-AUTO-477640
|
||||
category: "[[10_Wiki/💡 Topics/Graphics & Performance]]"
|
||||
confidence_score: 0.90
|
||||
tags: [auto-reinforced]
|
||||
last_reinforced: 2026-04-20
|
||||
github_commit: "[P-Reinforce] Continuous Worker - Fill Rate"
|
||||
---
|
||||
|
||||
# [[Fill Rate]]
|
||||
|
||||
## 📌 한 줄 통찰 (The Karpathy Summary)
|
||||
> 'Fill Rate'는 그래픽 처리 장치(GPU)의 픽셀 처리 속도 및 성능을 나타내는 지표입니다 [1, 2]. 주로 복잡한 프래그먼트 셰이더(Fragment Shader) 연산이나 겹쳐진 투명한 객체들로 인해 발생하는 오버드로우(Overdraw)에 의해 직접적인 영향을 받으며, 효과적인 렌더링 최적화를 위해서는 CPU의 드로우 콜 병목과 구분하여 관리되어야 합니다 [1-3].
|
||||
|
||||
## 📖 구조화된 지식 (Synthesized Content)
|
||||
- **셰이더 복잡도에 따른 성능 저하**: 다수의 텍스처 룩업(Texture lookups), 수학적 연산 및 조건부 논리가 포함된 복잡한 프래그먼트 셰이더는 중급 사양의 GPU 환경에서 Fill Rate를 50~70%가량 크게 감소시킬 수 있습니다 [1].
|
||||
- **오버드로우(Overdraw)와 Fill Rate의 비례적 감소**: 투명한 기하학적 구조(예: 투명한 머리카락, 옷 레이어, 액세서리 등)가 겹칠 경우 동일한 픽셀이 한 프레임 내에서 5~10회 반복해서 렌더링되며, 이는 유효 Fill Rate를 그에 비례하여 크게 떨어뜨립니다 [3].
|
||||
- **성능 프로파일링에서의 역할**: 실시간 렌더링 최적화 전략을 세울 때는 씬의 병목 현상이 CPU의 명령 발행(Draw Call)에 있는지, 아니면 GPU의 픽셀 처리(Fill Rate/Overdraw) 한계에 있는지를 명확하게 구분해야 합니다 [2].
|
||||
|
||||
## ⚠️ 모순 및 업데이트 (Contradictions & RL Update)
|
||||
- **과거 데이터와의 충돌:** 자동화 엔진에 의해 매핑된 지식으로, 추후 정밀 검증 필요.
|
||||
- **정책 변화:** Graphics & Performance 분야의 자동 자산화 수행.
|
||||
|
||||
## 🔗 지식 연결 (Graph)
|
||||
- **Related Topics:** [[Overdraw]], [[Fragment Shaders]], [[GPU]]
|
||||
- **Projects/Contexts:** [[Image-To-3D Models in Three.js]]
|
||||
- **Contradictions/Notes:** 소스 내에서 Fill Rate와 관련된 상충되는 주장이나 모순은 발견되지 않았습니다.
|
||||
|
||||
---
|
||||
*Last updated: 2026-04-19*
|
||||
- Raw Source: [[00_Raw/2026-04-20/Fill Rate.md]]
|
||||
---
|
||||
@@ -0,0 +1,25 @@
|
||||
---
|
||||
id: P-REINFORCE-AUTO-546D8F
|
||||
category: "[[10_Wiki/💡 Topics/Graphics & Performance]]"
|
||||
confidence_score: 0.90
|
||||
tags: [auto-reinforced]
|
||||
last_reinforced: 2026-04-20
|
||||
github_commit: "[P-Reinforce] Continuous Worker - Flow State Theory"
|
||||
---
|
||||
|
||||
# [[Flow State Theory]]
|
||||
|
||||
## 📌 한 줄 통찰 (The Karpathy Summary)
|
||||
> 지식 요약 정보 추출 중...
|
||||
|
||||
## 📖 구조화된 지식 (Synthesized Content)
|
||||
본문 구조화 작업 중...
|
||||
|
||||
## ⚠️ 모순 및 업데이트 (Contradictions & RL Update)
|
||||
- **과거 데이터와의 충돌:** 자동화 엔진에 의해 매핑된 지식으로, 추후 정밀 검증 필요.
|
||||
- **정책 변화:** Graphics & Performance 분야의 자동 자산화 수행.
|
||||
|
||||
## 🔗 지식 연결 (Graph)
|
||||
|
||||
- Raw Source: [[00_Raw/2026-04-20/Flow State Theory.md]]
|
||||
---
|
||||
@@ -0,0 +1,25 @@
|
||||
---
|
||||
id: P-REINFORCE-AUTO-410500
|
||||
category: "[[10_Wiki/💡 Topics/Graphics & Performance]]"
|
||||
confidence_score: 0.90
|
||||
tags: [auto-reinforced]
|
||||
last_reinforced: 2026-04-20
|
||||
github_commit: "[P-Reinforce] Continuous Worker - Formal-Grammar"
|
||||
---
|
||||
|
||||
# [[Formal-Grammar]]
|
||||
|
||||
## 📌 한 줄 통찰 (The Karpathy Summary)
|
||||
> 지식 요약 정보 추출 중...
|
||||
|
||||
## 📖 구조화된 지식 (Synthesized Content)
|
||||
본문 구조화 작업 중...
|
||||
|
||||
## ⚠️ 모순 및 업데이트 (Contradictions & RL Update)
|
||||
- **과거 데이터와의 충돌:** 자동화 엔진에 의해 매핑된 지식으로, 추후 정밀 검증 필요.
|
||||
- **정책 변화:** Graphics & Performance 분야의 자동 자산화 수행.
|
||||
|
||||
## 🔗 지식 연결 (Graph)
|
||||
|
||||
- Raw Source: [[00_Raw/2026-04-20/Formal-Grammar.md]]
|
||||
---
|
||||
@@ -0,0 +1,25 @@
|
||||
---
|
||||
id: P-REINFORCE-AUTO-AE318B
|
||||
category: "[[10_Wiki/💡 Topics/Graphics & Performance]]"
|
||||
confidence_score: 0.90
|
||||
tags: [auto-reinforced]
|
||||
last_reinforced: 2026-04-20
|
||||
github_commit: "[P-Reinforce] Continuous Worker - Formalism-vs-Structuralism"
|
||||
---
|
||||
|
||||
# [[Formalism-vs-Structuralism]]
|
||||
|
||||
## 📌 한 줄 통찰 (The Karpathy Summary)
|
||||
> 지식 요약 정보 추출 중...
|
||||
|
||||
## 📖 구조화된 지식 (Synthesized Content)
|
||||
본문 구조화 작업 중...
|
||||
|
||||
## ⚠️ 모순 및 업데이트 (Contradictions & RL Update)
|
||||
- **과거 데이터와의 충돌:** 자동화 엔진에 의해 매핑된 지식으로, 추후 정밀 검증 필요.
|
||||
- **정책 변화:** Graphics & Performance 분야의 자동 자산화 수행.
|
||||
|
||||
## 🔗 지식 연결 (Graph)
|
||||
|
||||
- Raw Source: [[00_Raw/2026-04-20/Formalism-vs-Structuralism.md]]
|
||||
---
|
||||
@@ -0,0 +1,25 @@
|
||||
---
|
||||
id: P-REINFORCE-AUTO-E0F58C
|
||||
category: "[[10_Wiki/💡 Topics/Graphics & Performance]]"
|
||||
confidence_score: 0.90
|
||||
tags: [auto-reinforced]
|
||||
last_reinforced: 2026-04-20
|
||||
github_commit: "[P-Reinforce] Continuous Worker - Formalist Game Design"
|
||||
---
|
||||
|
||||
# [[Formalist Game Design]]
|
||||
|
||||
## 📌 한 줄 통찰 (The Karpathy Summary)
|
||||
> 지식 요약 정보 추출 중...
|
||||
|
||||
## 📖 구조화된 지식 (Synthesized Content)
|
||||
본문 구조화 작업 중...
|
||||
|
||||
## ⚠️ 모순 및 업데이트 (Contradictions & RL Update)
|
||||
- **과거 데이터와의 충돌:** 자동화 엔진에 의해 매핑된 지식으로, 추후 정밀 검증 필요.
|
||||
- **정책 변화:** Graphics & Performance 분야의 자동 자산화 수행.
|
||||
|
||||
## 🔗 지식 연결 (Graph)
|
||||
|
||||
- Raw Source: [[00_Raw/2026-04-20/Formalist Game Design.md]]
|
||||
---
|
||||
@@ -0,0 +1,33 @@
|
||||
---
|
||||
id: P-REINFORCE-AUTO-809D81
|
||||
category: "[[10_Wiki/💡 Topics/Graphics & Performance]]"
|
||||
confidence_score: 0.90
|
||||
tags: [auto-reinforced]
|
||||
last_reinforced: 2026-04-20
|
||||
github_commit: "[P-Reinforce] Continuous Worker - Fragment Shading"
|
||||
---
|
||||
|
||||
# [[Fragment Shading]]
|
||||
|
||||
## 📌 한 줄 통찰 (The Karpathy Summary)
|
||||
> 프래그먼트 셰이딩(Fragment Shading)은 렌더링 파이프라인 후반부에서 픽셀 단위의 렌더링 계산(퍼 픽셀 조명 연산 등)을 수행하여 최종 색상 값을 결정하는 프로세스이다 [1, 2]. 다수의 텍스처 룩업이나 복잡한 연산이 포함될 경우 필 레이트(Fill Rate)를 크게 저하시킬 수 있으며 [2], 동일 픽셀에 여러 번 렌더링 연산이 중첩되는 오버드로우(Overdraw) 현상이 발생할 경우 GPU 성능 병목의 주요 원인이 되기도 한다 [3].
|
||||
|
||||
## 📖 구조화된 지식 (Synthesized Content)
|
||||
- **픽셀 단위 연산의 수행:** 프래그먼트 셰이더는 픽셀의 최종 색상 값을 결정하는 픽셀 단위의 계산을 전담한다 [2]. 버텍스 셰이더(Vertex Shader)와 프래그먼트 셰이더 사이에서는 varying 변수를 통해 데이터가 전달되며 [4], 구워진 노멀 맵(baked normal maps) 등을 활용해 복잡한 표면 디테일을 픽셀 셰이딩(pixel shading) 방식으로 렌더링한다 [1].
|
||||
- **셰이더 복잡도와 필 레이트(Fill Rate):** 프래그먼트 셰이더 내에서 여러 텍스처를 조회하거나, 수학적 연산 및 조건 논리가 복잡해질 경우 중간 사양의 GPU에서는 필 레이트가 50-70%가량 감소할 수 있다 [2]. 특히 PBR(물리 기반 렌더링) 환경에서는 각 픽셀마다 다수의 텍스처 샘플링(알베도, 노멀, 메탈릭, 러프니스 등) 및 환경 반사 연산을 처리해야 하므로 프래그먼트 처리 시간이 급증하게 된다 [2].
|
||||
- **오버드로우(Overdraw)의 영향:** 프래그먼트 셰이딩 단계에서 나타나는 오버드로우는 투명한 기하학적 구조가 겹치거나 깊이 정렬(Depth sorting)이 효율적이지 않아 동일한 픽셀 위치에 렌더링 쓰기 작업이 여러 번 중첩되는 현상이다 [3, 5]. 이는 화면에 보이지 않는 픽셀의 연산에까지 GPU 자원을 낭비하게 만든다 [5].
|
||||
- **정렬 부재와 프래그먼트 바운드(Fragment-bound) 현상:** 불투명 객체를 렌더링할 때 객체를 '앞에서 뒤로(Front-to-Back)' 정렬하면 가려진 픽셀 연산을 일찍 종료하는 Early-Z 최적화를 통해 성능을 확보할 수 있다 [3]. 하지만 InstancedMesh처럼 인스턴스들이 정렬되지 않은 상태로 렌더링되는 경우 이 최적화가 불가능해 막대한 오버드로우 비용을 발생시키며, 결과적으로 전체 씬(Scene)의 렌더링이 프래그먼트 연산의 한계에 부딪히는 프래그먼트 바운드 상태에 빠질 수 있다 [3, 6].
|
||||
|
||||
## ⚠️ 모순 및 업데이트 (Contradictions & RL Update)
|
||||
- **과거 데이터와의 충돌:** 자동화 엔진에 의해 매핑된 지식으로, 추후 정밀 검증 필요.
|
||||
- **정책 변화:** Graphics & Performance 분야의 자동 자산화 수행.
|
||||
|
||||
## 🔗 지식 연결 (Graph)
|
||||
- **Related Topics:** [[Overdraw]], [[Vertex Shader]], [[Fill Rate]], [[PBR]]
|
||||
- **Projects/Contexts:** [[Three.js WebGL Rendering Optimization]], [[InstancedMesh Performance Bottlenecks]]
|
||||
- **Contradictions/Notes:** 소스에 관련 정보가 부족합니다.
|
||||
|
||||
---
|
||||
*Last updated: 2026-04-19*
|
||||
- Raw Source: [[00_Raw/2026-04-20/Fragment Shading.md]]
|
||||
---
|
||||
@@ -0,0 +1,32 @@
|
||||
---
|
||||
id: P-REINFORCE-AUTO-C35A51
|
||||
category: "[[10_Wiki/💡 Topics/Graphics & Performance]]"
|
||||
confidence_score: 0.90
|
||||
tags: [auto-reinforced]
|
||||
last_reinforced: 2026-04-20
|
||||
github_commit: "[P-Reinforce] Continuous Worker - GPU-driven Rendering"
|
||||
---
|
||||
|
||||
# [[GPU-driven Rendering]]
|
||||
|
||||
## 📌 한 줄 통찰 (The Karpathy Summary)
|
||||
> GPU-driven Rendering(GPU 주도 렌더링)은 CPU가 렌더링할 객체를 판별하고 명령하는 대신, GPU가 무엇을 렌더링할지 스스로 결정하는 현대적인 렌더링 파이프라인 기법입니다 [1, 2]. 주로 컴퓨트 셰이더(Compute Shader)를 활용해 객체의 가시성을 GPU 내부에서 직접 평가한 후, 간접 그리기(Indirect Draw) 명령을 통해 화면에 출력합니다 [1, 3]. 이 방식을 사용하면 CPU와 GPU 간의 데이터 전송 및 통신 병목이 제거되어 수백만 개의 인스턴스를 극도로 효율적으로 처리할 수 있습니다 [1, 3].
|
||||
|
||||
## 📖 구조화된 지식 (Synthesized Content)
|
||||
- **가시성 판단의 GPU 이관 (Culling in Compute Shaders):** 기존의 렌더링 파이프라인에서는 CPU가 시야 절두체 컬링(Frustum Culling)이나 가림 현상(Occlusion)을 계산하여 병목이 발생했습니다 [2, 3]. GPU-driven Rendering에서는 이 역할을 GPU의 컴퓨트 셰이더로 넘겨, GPU가 직접 모든 객체와 인스턴스의 가시성을 판별하고 화면에 보일 객체의 렌더링 명령만 생성합니다 [2, 3].
|
||||
- **간접 그리기 (Indirect Draws) 활용:** 컴퓨트 셰이더가 가시성 평가를 마치면, 그 결과와 렌더링 명령을 GPU 내부 버퍼에 직접 기록합니다 [2, 3]. 이후 CPU의 개입 없이 `drawIndirect` 명령을 통해 GPU 내부 버퍼의 내용을 기반으로 렌더링을 수행하므로, CPU와 GPU 사이의 데이터 전송량이 거의 '0'에 수렴하게 됩니다 [1, 3].
|
||||
- **대규모 인스턴스 및 복잡한 연산 처리:** 이 기법은 매 프레임마다 GPU 수준의 컬링이 필요한 수백만 개의 인스턴스 렌더링에 필수적인 아키텍처입니다 [1]. 또한 읽기와 쓰기가 모두 허용되는 스토리지 텍스처(Storage Textures) 기술과 결합되어 유체 시뮬레이션, 이미지 처리 등 복잡한 환경에서도 핵심적인 역할을 수행합니다 [4].
|
||||
|
||||
## ⚠️ 모순 및 업데이트 (Contradictions & RL Update)
|
||||
- **과거 데이터와의 충돌:** 자동화 엔진에 의해 매핑된 지식으로, 추후 정밀 검증 필요.
|
||||
- **정책 변화:** Graphics & Performance 분야의 자동 자산화 수행.
|
||||
|
||||
## 🔗 지식 연결 (Graph)
|
||||
- **Related Topics:** [[Compute Shader]], [[Indirect Draw]], [[Frustum Culling]], [[WebGPU]]
|
||||
- **Projects/Contexts:** [[Three.js]], [[InstancedMesh]]
|
||||
- **Contradictions/Notes:** 대규모 객체를 렌더링할 때 'CPU 개별 컬링' 방식은 자바스크립트 연산 및 시스템 버스 전송에 막대한 병목을 유발하지만, 'GPU 주도 렌더링(GPU 컴퓨트 컬링)'은 구현 난이도가 매우 높은 대신 CPU 부하를 극도로 낮추고 전체적인 성능을 극대화한다는 뚜렷한 대비를 보입니다 [3, 5].
|
||||
|
||||
---
|
||||
*Last updated: 2026-04-19*
|
||||
- Raw Source: [[00_Raw/2026-04-20/GPU-driven Rendering.md]]
|
||||
---
|
||||
@@ -0,0 +1,32 @@
|
||||
---
|
||||
id: P-REINFORCE-AUTO-BC7FBB
|
||||
category: "[[10_Wiki/💡 Topics/Graphics & Performance]]"
|
||||
confidence_score: 0.90
|
||||
tags: [auto-reinforced]
|
||||
last_reinforced: 2026-04-20
|
||||
github_commit: "[P-Reinforce] Continuous Worker - GPURenderBundles"
|
||||
---
|
||||
|
||||
# [[GPURenderBundles]]
|
||||
|
||||
## 📌 한 줄 통찰 (The Karpathy Summary)
|
||||
> `GPURenderBundles` (렌더 번들)는 Native WebGPU 환경에서 제공되는 강력한 렌더링 최적화 도구입니다 [1]. 초기화 과정에서 파이프라인, 바인드 그룹(bind groups), 드로우 콜(draw calls)과 같은 명령을 미리 기록(pre-record)하고, 이후 렌더 루프에서 단 한 번의 호출로 이를 다시 재생(replay)할 수 있게 해줍니다 [1]. 이 방식을 통해 렌더링 성능에 병목을 일으키는 검증 작업(validation work)을 핵심 렌더링 경로 외부로 분리하여 대규모 객체를 극도로 효율적으로 처리할 수 있습니다 [1, 2].
|
||||
|
||||
## 📖 구조화된 지식 (Synthesized Content)
|
||||
- **사전 기록을 통한 성능 극대화:** 렌더 루프 내에서 매 프레임마다 렌더링 명령을 GPU에 지시하는 대신, 초기화 단계에서 모든 명령을 `GPURenderBundles`에 묶어 저장합니다 [1, 2]. 렌더 루프에서는 이 번들을 호출하는 것만으로 복잡한 렌더링 명령을 즉시 실행할 수 있습니다 [1].
|
||||
- **드로우 콜 오버헤드 감소:** 이 접근법은 명령 검증(validation) 작업을 렌더 루프에서 제외시켜 CPU에서 GPU로 발생하는 오버헤드를 근본적으로 제거합니다 [2]. 간접 그리기(Indirect Drawing)와 함께 사용할 경우 매우 높은 드로우 콜 효율성(Draw Call Efficiency)을 달성할 수 있습니다 [3].
|
||||
- **초대형 데이터셋 처리:** `GPURenderBundles`를 활용하면 한 번의 호출로 100,000개 이상의 객체를 렌더링할 수 있습니다 [1, 2]. 이는 500MB를 초과하는 병원 캠퍼스나 공항 터미널과 같은 방대하고 복잡한 건설 모델을 실시간으로 렌더링하는 데 가장 이상적인 해결책을 제공합니다 [2].
|
||||
|
||||
## ⚠️ 모순 및 업데이트 (Contradictions & RL Update)
|
||||
- **과거 데이터와의 충돌:** 자동화 엔진에 의해 매핑된 지식으로, 추후 정밀 검증 필요.
|
||||
- **정책 변화:** Graphics & Performance 분야의 자동 자산화 수행.
|
||||
|
||||
## 🔗 지식 연결 (Graph)
|
||||
- **Related Topics:** [[Native WebGPU]], [[Indirect Drawing]], [[Draw Call Efficiency]], [[Bind Groups]]
|
||||
- **Projects/Contexts:** [[대규모 건설 플랫폼 뷰어(Large-Scale Construction Viewers)]]
|
||||
- **Contradictions/Notes:** 고수준 프레임워크인 Three.js WebGPU는 개발이 쉽지만 고유 객체 처리 시 UBO(Uniform Buffer Objects) 바인딩 오버헤드로 인해 약 1만~2만 개의 비인스턴스 객체 렌더링 시 프레임이 떨어질 수 있습니다. 반면, Native WebGPU는 초기화 및 파이프라인 구성의 복잡성(개발 속도 저하)을 감수하는 대신 `GPURenderBundles`를 통해 10만 개 이상의 고유 객체를 병목 없이 원활하게 처리할 수 있습니다 [2-4].
|
||||
|
||||
---
|
||||
*Last updated: 2026-04-19*
|
||||
- Raw Source: [[00_Raw/2026-04-20/GPURenderBundles.md]]
|
||||
---
|
||||
+25
@@ -0,0 +1,25 @@
|
||||
---
|
||||
id: P-REINFORCE-AUTO-EFF2C4
|
||||
category: "[[10_Wiki/💡 Topics/Graphics & Performance]]"
|
||||
confidence_score: 0.90
|
||||
tags: [auto-reinforced]
|
||||
last_reinforced: 2026-04-20
|
||||
github_commit: "[P-Reinforce] Continuous Worker - Game Studies (Academic Discipline)"
|
||||
---
|
||||
|
||||
# [[Game Studies (Academic Discipline)]]
|
||||
|
||||
## 📌 한 줄 통찰 (The Karpathy Summary)
|
||||
> 지식 요약 정보 추출 중...
|
||||
|
||||
## 📖 구조화된 지식 (Synthesized Content)
|
||||
본문 구조화 작업 중...
|
||||
|
||||
## ⚠️ 모순 및 업데이트 (Contradictions & RL Update)
|
||||
- **과거 데이터와의 충돌:** 자동화 엔진에 의해 매핑된 지식으로, 추후 정밀 검증 필요.
|
||||
- **정책 변화:** Graphics & Performance 분야의 자동 자산화 수행.
|
||||
|
||||
## 🔗 지식 연결 (Graph)
|
||||
|
||||
- Raw Source: [[00_Raw/2026-04-20/Game Studies (Academic Discipline).md]]
|
||||
---
|
||||
@@ -0,0 +1,25 @@
|
||||
---
|
||||
id: P-REINFORCE-AUTO-329226
|
||||
category: "[[10_Wiki/💡 Topics/Graphics & Performance]]"
|
||||
confidence_score: 0.90
|
||||
tags: [auto-reinforced]
|
||||
last_reinforced: 2026-04-20
|
||||
github_commit: "[P-Reinforce] Continuous Worker - Game Theory (Economics)"
|
||||
---
|
||||
|
||||
# [[Game Theory (Economics)]]
|
||||
|
||||
## 📌 한 줄 통찰 (The Karpathy Summary)
|
||||
> 지식 요약 정보 추출 중...
|
||||
|
||||
## 📖 구조화된 지식 (Synthesized Content)
|
||||
본문 구조화 작업 중...
|
||||
|
||||
## ⚠️ 모순 및 업데이트 (Contradictions & RL Update)
|
||||
- **과거 데이터와의 충돌:** 자동화 엔진에 의해 매핑된 지식으로, 추후 정밀 검증 필요.
|
||||
- **정책 변화:** Graphics & Performance 분야의 자동 자산화 수행.
|
||||
|
||||
## 🔗 지식 연결 (Graph)
|
||||
|
||||
- Raw Source: [[00_Raw/2026-04-20/Game Theory (Economics).md]]
|
||||
---
|
||||
+25
@@ -0,0 +1,25 @@
|
||||
---
|
||||
id: P-REINFORCE-AUTO-C0E0BE
|
||||
category: "[[10_Wiki/💡 Topics/Graphics & Performance]]"
|
||||
confidence_score: 0.90
|
||||
tags: [auto-reinforced]
|
||||
last_reinforced: 2026-04-20
|
||||
github_commit: "[P-Reinforce] Continuous Worker - Game Theory and Market Equilibrium"
|
||||
---
|
||||
|
||||
# [[Game Theory and Market Equilibrium]]
|
||||
|
||||
## 📌 한 줄 통찰 (The Karpathy Summary)
|
||||
> 지식 요약 정보 추출 중...
|
||||
|
||||
## 📖 구조화된 지식 (Synthesized Content)
|
||||
본문 구조화 작업 중...
|
||||
|
||||
## ⚠️ 모순 및 업데이트 (Contradictions & RL Update)
|
||||
- **과거 데이터와의 충돌:** 자동화 엔진에 의해 매핑된 지식으로, 추후 정밀 검증 필요.
|
||||
- **정책 변화:** Graphics & Performance 분야의 자동 자산화 수행.
|
||||
|
||||
## 🔗 지식 연결 (Graph)
|
||||
|
||||
- Raw Source: [[00_Raw/2026-04-20/Game Theory and Market Equilibrium.md]]
|
||||
---
|
||||
@@ -0,0 +1,25 @@
|
||||
---
|
||||
id: P-REINFORCE-AUTO-69600C
|
||||
category: "[[10_Wiki/💡 Topics/Graphics & Performance]]"
|
||||
confidence_score: 0.90
|
||||
tags: [auto-reinforced]
|
||||
last_reinforced: 2026-04-20
|
||||
github_commit: "[P-Reinforce] Continuous Worker - Game Theory"
|
||||
---
|
||||
|
||||
# [[Game Theory]]
|
||||
|
||||
## 📌 한 줄 통찰 (The Karpathy Summary)
|
||||
> 지식 요약 정보 추출 중...
|
||||
|
||||
## 📖 구조화된 지식 (Synthesized Content)
|
||||
본문 구조화 작업 중...
|
||||
|
||||
## ⚠️ 모순 및 업데이트 (Contradictions & RL Update)
|
||||
- **과거 데이터와의 충돌:** 자동화 엔진에 의해 매핑된 지식으로, 추후 정밀 검증 필요.
|
||||
- **정책 변화:** Graphics & Performance 분야의 자동 자산화 수행.
|
||||
|
||||
## 🔗 지식 연결 (Graph)
|
||||
|
||||
- Raw Source: [[00_Raw/2026-04-20/Game Theory.md]]
|
||||
---
|
||||
@@ -0,0 +1,25 @@
|
||||
---
|
||||
id: P-REINFORCE-AUTO-8C354C
|
||||
category: "[[10_Wiki/💡 Topics/Graphics & Performance]]"
|
||||
confidence_score: 0.90
|
||||
tags: [auto-reinforced]
|
||||
last_reinforced: 2026-04-20
|
||||
github_commit: "[P-Reinforce] Continuous Worker - Gamification-Design"
|
||||
---
|
||||
|
||||
# [[Gamification-Design]]
|
||||
|
||||
## 📌 한 줄 통찰 (The Karpathy Summary)
|
||||
> 지식 요약 정보 추출 중...
|
||||
|
||||
## 📖 구조화된 지식 (Synthesized Content)
|
||||
본문 구조화 작업 중...
|
||||
|
||||
## ⚠️ 모순 및 업데이트 (Contradictions & RL Update)
|
||||
- **과거 데이터와의 충돌:** 자동화 엔진에 의해 매핑된 지식으로, 추후 정밀 검증 필요.
|
||||
- **정책 변화:** Graphics & Performance 분야의 자동 자산화 수행.
|
||||
|
||||
## 🔗 지식 연결 (Graph)
|
||||
|
||||
- Raw Source: [[00_Raw/2026-04-20/Gamification-Design.md]]
|
||||
---
|
||||
@@ -0,0 +1,33 @@
|
||||
---
|
||||
id: P-REINFORCE-AUTO-F5453B
|
||||
category: "[[10_Wiki/💡 Topics/Graphics & Performance]]"
|
||||
confidence_score: 0.90
|
||||
tags: [auto-reinforced]
|
||||
last_reinforced: 2026-04-20
|
||||
github_commit: "[P-Reinforce] Continuous Worker - Garbage Collection"
|
||||
---
|
||||
|
||||
# [[Garbage Collection]]
|
||||
|
||||
## 📌 한 줄 통찰 (The Karpathy Summary)
|
||||
> 가비지 컬렉션(Garbage Collection, GC)은 사용되지 않는 구형 데이터를 메모리에서 해제하는 자바스크립트 엔진의 메모리 관리 프로세스입니다 [1]. 하지만 Three.js와 같은 실시간 3D 렌더링 환경에서는 빈번한 객체 생성이나 메모리 한계 초과로 인해 가비지 컬렉터가 작동할 경우, 프레임이 일시적으로 멈추는(Stuttering) 심각한 성능 저하가 발생할 수 있습니다 [1-3]. 또한, Three.js는 GPU 자원에 대해 자동으로 가비지 컬렉션을 수행하지 않기 때문에 개발자의 명시적인 메모리 관리가 필수적입니다 [4].
|
||||
|
||||
## 📖 구조화된 지식 (Synthesized Content)
|
||||
* **GPU 자원의 명시적 해제 필요성:** Three.js는 지오메트리, 머티리얼, 텍스처 등의 GPU 자원을 자동으로 가비지 컬렉트하지 않습니다 [4]. 따라서 단일 4K 텍스처가 64MB 이상의 VRAM을 차지하는 등 메모리 누수를 방지하려면, 사용이 끝난 자원은 반드시 `.dispose()` 메서드를 호출하여 명시적으로 GPU 메모리에서 해제해야 합니다 [4].
|
||||
* **프레임 멈춤(GC Pauses) 현상:** `useFrame`과 같은 렌더링 루프 내부에서 객체를 계속 생성하거나, 모바일 기기의 시스템 메모리 한계를 초과하는 무거운 텍스처를 사용하면 가비지 컬렉션이 강제로 트리거되어 프레임 멈춤 현상과 스터터링이 발생합니다 [2, 3].
|
||||
* **동적 버퍼 할당과 TypedArray 부하:** 대규모 인스턴스 렌더링 환경에서 버퍼 용량을 초과해 동적으로 버퍼를 계속 확장할 경우, 수십 메가바이트 단위의 `TypedArray`가 빈번하게 생성되고 파괴됩니다 [1]. 자바스크립트 엔진이 이 구형 배열 데이터를 해제하는 과정에서 가비지 컬렉터가 작동하여 메인 스레드의 점유 시간을 늘리고 프레임 드랍을 유발합니다 [1, 5].
|
||||
* **객체 풀링(Object Pooling)을 통한 GC 부하 완화:** 가비지 컬렉션으로 인한 할당 오버헤드와 멈춤 현상을 방지하기 위해서는, 총알이나 파티클처럼 자주 생성되고 파괴되는 엔티티에 대해 새로운 객체를 생성하는 대신 '객체 풀(Pool)'을 미리 구성하여 재사용하는 방식이 강력히 권장됩니다 [6].
|
||||
|
||||
## ⚠️ 모순 및 업데이트 (Contradictions & RL Update)
|
||||
- **과거 데이터와의 충돌:** 자동화 엔진에 의해 매핑된 지식으로, 추후 정밀 검증 필요.
|
||||
- **정책 변화:** Graphics & Performance 분야의 자동 자산화 수행.
|
||||
|
||||
## 🔗 지식 연결 (Graph)
|
||||
- **Related Topics:** [[Memory Management]], [[Object Pooling]], [[GPU Resources]]
|
||||
- **Projects/Contexts:** [[Three.js]], [[WebGL]]
|
||||
- **Contradictions/Notes:** 소스에 관련 정보가 부족합니다.
|
||||
|
||||
---
|
||||
*Last updated: 2026-04-19*
|
||||
- Raw Source: [[00_Raw/2026-04-20/Garbage Collection.md]]
|
||||
---
|
||||
@@ -0,0 +1,25 @@
|
||||
---
|
||||
id: P-REINFORCE-AUTO-7898CD
|
||||
category: "[[10_Wiki/💡 Topics/Graphics & Performance]]"
|
||||
confidence_score: 0.90
|
||||
tags: [auto-reinforced]
|
||||
last_reinforced: 2026-04-20
|
||||
github_commit: "[P-Reinforce] Continuous Worker - Graph Theory in Level Design"
|
||||
---
|
||||
|
||||
# [[Graph Theory in Level Design]]
|
||||
|
||||
## 📌 한 줄 통찰 (The Karpathy Summary)
|
||||
> 지식 요약 정보 추출 중...
|
||||
|
||||
## 📖 구조화된 지식 (Synthesized Content)
|
||||
본문 구조화 작업 중...
|
||||
|
||||
## ⚠️ 모순 및 업데이트 (Contradictions & RL Update)
|
||||
- **과거 데이터와의 충돌:** 자동화 엔진에 의해 매핑된 지식으로, 추후 정밀 검증 필요.
|
||||
- **정책 변화:** Graphics & Performance 분야의 자동 자산화 수행.
|
||||
|
||||
## 🔗 지식 연결 (Graph)
|
||||
|
||||
- Raw Source: [[00_Raw/2026-04-20/Graph Theory in Level Design.md]]
|
||||
---
|
||||
@@ -0,0 +1,30 @@
|
||||
---
|
||||
id: P-REINFORCE-AUTO-6AA980
|
||||
category: "[[10_Wiki/💡 Topics/Graphics & Performance]]"
|
||||
confidence_score: 0.90
|
||||
tags: [auto-reinforced]
|
||||
last_reinforced: 2026-04-20
|
||||
github_commit: "[P-Reinforce] Continuous Worker - HTML5 Canvas"
|
||||
---
|
||||
|
||||
# [[HTML5 Canvas]]
|
||||
|
||||
## 📌 한 줄 통찰 (The Karpathy Summary)
|
||||
> HTML5 Canvas는 웹 브라우저 내에서 3D 장면이나 그래픽 등 모든 그리기 콘텐츠(drawing contents)를 담는 HTML 요소입니다 [1]. 주로 자바스크립트를 통해 WebGL 또는 WebGPU 컨텍스트를 가져와 GPU에서 하드웨어 가속을 통해 직접 렌더링을 수행하는 대상 화면으로 사용됩니다 [1, 2]. 제공된 소스에서는 독립적인 주제라기보다는 WebGL 및 WebGPU 파이프라인이 그래픽을 출력하는 기본 바탕으로서 단편적으로 언급됩니다.
|
||||
|
||||
## 📖 구조화된 지식 (Synthesized Content)
|
||||
본문 구조화 작업 중...
|
||||
|
||||
## ⚠️ 모순 및 업데이트 (Contradictions & RL Update)
|
||||
- **과거 데이터와의 충돌:** 자동화 엔진에 의해 매핑된 지식으로, 추후 정밀 검증 필요.
|
||||
- **정책 변화:** Graphics & Performance 분야의 자동 자산화 수행.
|
||||
|
||||
## 🔗 지식 연결 (Graph)
|
||||
- **Related Topics:** [[WebGL]], [[WebGPU]], [[GPU Rendering]]
|
||||
- **Projects/Contexts:** [[3D Web-based HMI]], [[LearnWebGL]], [[Chrome DevTools Performance]]
|
||||
- **Contradictions/Notes:** 소스에 관련 정보가 부족합니다. 소스 데이터 내에서 HTML5 Canvas 자체의 2D API나 내부 동작 원리에 대한 깊이 있는 설명은 존재하지 않으며, WebGL 및 WebGPU 렌더링을 위한 HTML 요소로서의 역할만 제한적으로 다뤄지고 있습니다.
|
||||
|
||||
---
|
||||
*Last updated: 2026-04-19*
|
||||
- Raw Source: [[00_Raw/2026-04-20/HTML5 Canvas.md]]
|
||||
---
|
||||
@@ -0,0 +1,25 @@
|
||||
---
|
||||
id: P-REINFORCE-AUTO-AFA55D
|
||||
category: "[[10_Wiki/💡 Topics/Graphics & Performance]]"
|
||||
confidence_score: 0.90
|
||||
tags: [auto-reinforced]
|
||||
last_reinforced: 2026-04-20
|
||||
github_commit: "[P-Reinforce] Continuous Worker - Human-Centered Design"
|
||||
---
|
||||
|
||||
# [[Human-Centered Design]]
|
||||
|
||||
## 📌 한 줄 통찰 (The Karpathy Summary)
|
||||
> 지식 요약 정보 추출 중...
|
||||
|
||||
## 📖 구조화된 지식 (Synthesized Content)
|
||||
본문 구조화 작업 중...
|
||||
|
||||
## ⚠️ 모순 및 업데이트 (Contradictions & RL Update)
|
||||
- **과거 데이터와의 충돌:** 자동화 엔진에 의해 매핑된 지식으로, 추후 정밀 검증 필요.
|
||||
- **정책 변화:** Graphics & Performance 분야의 자동 자산화 수행.
|
||||
|
||||
## 🔗 지식 연결 (Graph)
|
||||
|
||||
- Raw Source: [[00_Raw/2026-04-20/Human-Centered Design.md]]
|
||||
---
|
||||
@@ -0,0 +1,25 @@
|
||||
---
|
||||
id: P-REINFORCE-AUTO-CA7B1B
|
||||
category: "[[10_Wiki/💡 Topics/Graphics & Performance]]"
|
||||
confidence_score: 0.90
|
||||
tags: [auto-reinforced]
|
||||
last_reinforced: 2026-04-20
|
||||
github_commit: "[P-Reinforce] Continuous Worker - ISO 9241 Standards"
|
||||
---
|
||||
|
||||
# [[ISO 9241 Standards]]
|
||||
|
||||
## 📌 한 줄 통찰 (The Karpathy Summary)
|
||||
> 지식 요약 정보 추출 중...
|
||||
|
||||
## 📖 구조화된 지식 (Synthesized Content)
|
||||
본문 구조화 작업 중...
|
||||
|
||||
## ⚠️ 모순 및 업데이트 (Contradictions & RL Update)
|
||||
- **과거 데이터와의 충돌:** 자동화 엔진에 의해 매핑된 지식으로, 추후 정밀 검증 필요.
|
||||
- **정책 변화:** Graphics & Performance 분야의 자동 자산화 수행.
|
||||
|
||||
## 🔗 지식 연결 (Graph)
|
||||
|
||||
- Raw Source: [[00_Raw/2026-04-20/ISO 9241 Standards.md]]
|
||||
---
|
||||
+25
@@ -0,0 +1,25 @@
|
||||
---
|
||||
id: P-REINFORCE-AUTO-7C1550
|
||||
category: "[[10_Wiki/💡 Topics/Graphics & Performance]]"
|
||||
confidence_score: 0.90
|
||||
tags: [auto-reinforced]
|
||||
last_reinforced: 2026-04-20
|
||||
github_commit: "[P-Reinforce] Continuous Worker - Immersive Educational Simulations"
|
||||
---
|
||||
|
||||
# [[Immersive Educational Simulations]]
|
||||
|
||||
## 📌 한 줄 통찰 (The Karpathy Summary)
|
||||
> 지식 요약 정보 추출 중...
|
||||
|
||||
## 📖 구조화된 지식 (Synthesized Content)
|
||||
본문 구조화 작업 중...
|
||||
|
||||
## ⚠️ 모순 및 업데이트 (Contradictions & RL Update)
|
||||
- **과거 데이터와의 충돌:** 자동화 엔진에 의해 매핑된 지식으로, 추후 정밀 검증 필요.
|
||||
- **정책 변화:** Graphics & Performance 분야의 자동 자산화 수행.
|
||||
|
||||
## 🔗 지식 연결 (Graph)
|
||||
|
||||
- Raw Source: [[00_Raw/2026-04-20/Immersive Educational Simulations.md]]
|
||||
---
|
||||
@@ -0,0 +1,33 @@
|
||||
---
|
||||
id: P-REINFORCE-AUTO-86F967
|
||||
category: "[[10_Wiki/💡 Topics/Graphics & Performance]]"
|
||||
confidence_score: 0.90
|
||||
tags: [auto-reinforced]
|
||||
last_reinforced: 2026-04-20
|
||||
github_commit: "[P-Reinforce] Continuous Worker - InstancedMesh (드로우 콜 최적화)"
|
||||
---
|
||||
|
||||
# [[InstancedMesh (드로우 콜 최적화)]]
|
||||
|
||||
## 📌 한 줄 통찰 (The Karpathy Summary)
|
||||
> `InstancedMesh`는 **동일한 기하구조(Geometry)와 재질(Material)을 공유하는 수많은 객체를 단 1회의 드로우 콜(Draw Call)만으로 GPU에서 렌더링**하여, CPU의 오버헤드를 극적으로 줄이고 애플리케이션의 프레임 레이트(FPS)를 비약적으로 향상시키는 3D 그래픽스 핵심 최적화 기법입니다.
|
||||
|
||||
## 📖 구조화된 지식 (Synthesized Content)
|
||||
**1. 드로우 콜(Draw Call)의 개념과 성능 병목** 모든 3D 장면에서 메시는 각각의 드로우 콜을 발생시키며, 이 횟수가 많아질수록 CPU가 GPU에 렌더링 명령을 내리는 오버헤드가 급증합니다. 매끄러운 60FPS를 유지하기 위한 렌더링의 골든 룰은 **프레임당 드로우 콜을 100회 미만으로 유지**하는 것이며, 폴리곤(삼각형)의 수보다 드로우 콜의 횟수가 성능에 훨씬 치명적인 영향을 미칩니다.
|
||||
|
||||
**2. InstancedMesh의 작동 원리** 1,000개의 나무나 총알을 개별적인 메시(Mesh)로 렌더링하면 1,000번의 드로우 콜이 발생합니다. 하지만 `InstancedMesh`를 사용하면 **단 1번의 드로우 콜만으로 GPU 내부에서 해당 객체를 1,000번 복제하여 렌더링**할 수 있습니다. 한 부동산 데모 프로젝트의 경우, 수많은 의자 객체들을 인스턴싱 렌더링으로 변경하여 드로우 콜을 9,000회에서 300회로 줄인 사례가 있습니다.
|
||||
|
||||
**3. 성능 이득과 활용 방식** 인스턴싱 최적화를 적용하면 드로우 콜 횟수가 $N$(객체 수)에서 1로 줄어들어, 내장형 GPU 환경에서 대규모 데이터셋 렌더링 시 **프레임 레이트를 10배 이상 향상**시킬 수 있습니다. 또한, 각 인스턴스는 동일한 형태를 공유하더라도 인스턴스별 속성(per-instance attributes)을 통해 **서로 다른 위치, 회전, 크기(Scale) 및 색상을 독립적으로 가질 수 있습니다**.
|
||||
|
||||
**4. 오브젝트 풀링과의 결합** 실시간 게임 아키텍처에서는 총알이나 파티클과 같이 자주 생성되고 사라지는 객체를 개별 메시로 관리하지 않고, **하나의 `InstancedMesh`를 고정된 오브젝트 풀(Pool)로 관리하며 변환 행렬(Matrix)만 업데이트**하는 방식을 사용해 메모리 파편화 방지와 렌더링 최적화를 동시에 달성합니다.
|
||||
|
||||
## ⚠️ 모순 및 업데이트 (Contradictions & RL Update)
|
||||
- **과거 데이터와의 충돌:** 자동화 엔진에 의해 매핑된 지식으로, 추후 정밀 검증 필요.
|
||||
- **정책 변화:** Graphics & Performance 분야의 자동 자산화 수행.
|
||||
|
||||
## 🔗 지식 연결 (Graph)
|
||||
- **Related Topics:** [[Draw Call Optimization (드로우 콜 최적화)]], [[BatchedMesh]], [[Object Pooling (오브젝트 풀링)]], [[React Three Fiber 자산 최적화]]
|
||||
- **Projects/Contexts:** [[대규모 파티클 시스템 최적화]], [[수만 개의 데이터를 표현하는 3D 산점도(Scatter Plot) 시각화]], [[숲, 군중 등 반복 객체가 많은 3D 씬]]
|
||||
- **Contradictions/Notes:** `InstancedMesh`는 성능 개선에 탁월하지만, **모든 인스턴스가 반드시 동일한 기하구조(Geometry)와 재질(Material)을 공유해야 한다는 설계적 제약**이 따릅니다. 만약 재질은 같으나 형태(Geometry)가 서로 다른 여러 객체들을 묶어 드로우 콜을 1회로 줄이려면, R156 버전에 도입된 `BatchedMesh`를 사용하는 것이 더 적합합니다.
|
||||
- Raw Source: [[00_Raw/2026-04-20/InstancedMesh (드로우 콜 최적화).md]]
|
||||
---
|
||||
+25
@@ -0,0 +1,25 @@
|
||||
---
|
||||
id: P-REINFORCE-AUTO-03221B
|
||||
category: "[[10_Wiki/💡 Topics/Graphics & Performance]]"
|
||||
confidence_score: 0.90
|
||||
tags: [auto-reinforced]
|
||||
last_reinforced: 2026-04-20
|
||||
github_commit: "[P-Reinforce] Continuous Worker - Instructional Systems Design (ISD)"
|
||||
---
|
||||
|
||||
# [[Instructional Systems Design (ISD)]]
|
||||
|
||||
## 📌 한 줄 통찰 (The Karpathy Summary)
|
||||
> 지식 요약 정보 추출 중...
|
||||
|
||||
## 📖 구조화된 지식 (Synthesized Content)
|
||||
본문 구조화 작업 중...
|
||||
|
||||
## ⚠️ 모순 및 업데이트 (Contradictions & RL Update)
|
||||
- **과거 데이터와의 충돌:** 자동화 엔진에 의해 매핑된 지식으로, 추후 정밀 검증 필요.
|
||||
- **정책 변화:** Graphics & Performance 분야의 자동 자산화 수행.
|
||||
|
||||
## 🔗 지식 연결 (Graph)
|
||||
|
||||
- Raw Source: [[00_Raw/2026-04-20/Instructional Systems Design (ISD).md]]
|
||||
---
|
||||
@@ -0,0 +1,25 @@
|
||||
---
|
||||
id: P-REINFORCE-AUTO-FFEC9C
|
||||
category: "[[10_Wiki/💡 Topics/Graphics & Performance]]"
|
||||
confidence_score: 0.90
|
||||
tags: [auto-reinforced]
|
||||
last_reinforced: 2026-04-20
|
||||
github_commit: "[P-Reinforce] Continuous Worker - Instructional-Design"
|
||||
---
|
||||
|
||||
# [[Instructional-Design]]
|
||||
|
||||
## 📌 한 줄 통찰 (The Karpathy Summary)
|
||||
> 지식 요약 정보 추출 중...
|
||||
|
||||
## 📖 구조화된 지식 (Synthesized Content)
|
||||
본문 구조화 작업 중...
|
||||
|
||||
## ⚠️ 모순 및 업데이트 (Contradictions & RL Update)
|
||||
- **과거 데이터와의 충돌:** 자동화 엔진에 의해 매핑된 지식으로, 추후 정밀 검증 필요.
|
||||
- **정책 변화:** Graphics & Performance 분야의 자동 자산화 수행.
|
||||
|
||||
## 🔗 지식 연결 (Graph)
|
||||
|
||||
- Raw Source: [[00_Raw/2026-04-20/Instructional-Design.md]]
|
||||
---
|
||||
@@ -0,0 +1,25 @@
|
||||
---
|
||||
id: P-REINFORCE-AUTO-355ABB
|
||||
category: "[[10_Wiki/💡 Topics/Graphics & Performance]]"
|
||||
confidence_score: 0.90
|
||||
tags: [auto-reinforced]
|
||||
last_reinforced: 2026-04-20
|
||||
github_commit: "[P-Reinforce] Continuous Worker - Interactive Storytelling"
|
||||
---
|
||||
|
||||
# [[Interactive Storytelling]]
|
||||
|
||||
## 📌 한 줄 통찰 (The Karpathy Summary)
|
||||
> 지식 요약 정보 추출 중...
|
||||
|
||||
## 📖 구조화된 지식 (Synthesized Content)
|
||||
본문 구조화 작업 중...
|
||||
|
||||
## ⚠️ 모순 및 업데이트 (Contradictions & RL Update)
|
||||
- **과거 데이터와의 충돌:** 자동화 엔진에 의해 매핑된 지식으로, 추후 정밀 검증 필요.
|
||||
- **정책 변화:** Graphics & Performance 분야의 자동 자산화 수행.
|
||||
|
||||
## 🔗 지식 연결 (Graph)
|
||||
|
||||
- Raw Source: [[00_Raw/2026-04-20/Interactive Storytelling.md]]
|
||||
---
|
||||
@@ -0,0 +1,25 @@
|
||||
---
|
||||
id: P-REINFORCE-AUTO-6D7369
|
||||
category: "[[10_Wiki/💡 Topics/Graphics & Performance]]"
|
||||
confidence_score: 0.90
|
||||
tags: [auto-reinforced]
|
||||
last_reinforced: 2026-04-20
|
||||
github_commit: "[P-Reinforce] Continuous Worker - Interactive-Storytelling"
|
||||
---
|
||||
|
||||
# [[Interactive-Storytelling]]
|
||||
|
||||
## 📌 한 줄 통찰 (The Karpathy Summary)
|
||||
> 지식 요약 정보 추출 중...
|
||||
|
||||
## 📖 구조화된 지식 (Synthesized Content)
|
||||
본문 구조화 작업 중...
|
||||
|
||||
## ⚠️ 모순 및 업데이트 (Contradictions & RL Update)
|
||||
- **과거 데이터와의 충돌:** 자동화 엔진에 의해 매핑된 지식으로, 추후 정밀 검증 필요.
|
||||
- **정책 변화:** Graphics & Performance 분야의 자동 자산화 수행.
|
||||
|
||||
## 🔗 지식 연결 (Graph)
|
||||
|
||||
- Raw Source: [[00_Raw/2026-04-20/Interactive-Storytelling.md]]
|
||||
---
|
||||
+25
@@ -0,0 +1,25 @@
|
||||
---
|
||||
id: P-REINFORCE-AUTO-D09D7C
|
||||
category: "[[10_Wiki/💡 Topics/Graphics & Performance]]"
|
||||
confidence_score: 0.90
|
||||
tags: [auto-reinforced]
|
||||
last_reinforced: 2026-04-20
|
||||
github_commit: "[P-Reinforce] Continuous Worker - Internet of Things (IoT) Telemetry"
|
||||
---
|
||||
|
||||
# [[Internet of Things (IoT) Telemetry]]
|
||||
|
||||
## 📌 한 줄 통찰 (The Karpathy Summary)
|
||||
> 지식 요약 정보 추출 중...
|
||||
|
||||
## 📖 구조화된 지식 (Synthesized Content)
|
||||
본문 구조화 작업 중...
|
||||
|
||||
## ⚠️ 모순 및 업데이트 (Contradictions & RL Update)
|
||||
- **과거 데이터와의 충돌:** 자동화 엔진에 의해 매핑된 지식으로, 추후 정밀 검증 필요.
|
||||
- **정책 변화:** Graphics & Performance 분야의 자동 자산화 수행.
|
||||
|
||||
## 🔗 지식 연결 (Graph)
|
||||
|
||||
- Raw Source: [[00_Raw/2026-04-20/Internet of Things (IoT) Telemetry.md]]
|
||||
---
|
||||
@@ -0,0 +1,25 @@
|
||||
---
|
||||
id: P-REINFORCE-AUTO-D1BB71
|
||||
category: "[[10_Wiki/💡 Topics/Graphics & Performance]]"
|
||||
confidence_score: 0.90
|
||||
tags: [auto-reinforced]
|
||||
last_reinforced: 2026-04-20
|
||||
github_commit: "[P-Reinforce] Continuous Worker - Intrinsic Motivation"
|
||||
---
|
||||
|
||||
# [[Intrinsic Motivation]]
|
||||
|
||||
## 📌 한 줄 통찰 (The Karpathy Summary)
|
||||
> 지식 요약 정보 추출 중...
|
||||
|
||||
## 📖 구조화된 지식 (Synthesized Content)
|
||||
본문 구조화 작업 중...
|
||||
|
||||
## ⚠️ 모순 및 업데이트 (Contradictions & RL Update)
|
||||
- **과거 데이터와의 충돌:** 자동화 엔진에 의해 매핑된 지식으로, 추후 정밀 검증 필요.
|
||||
- **정책 변화:** Graphics & Performance 분야의 자동 자산화 수행.
|
||||
|
||||
## 🔗 지식 연결 (Graph)
|
||||
|
||||
- Raw Source: [[00_Raw/2026-04-20/Intrinsic Motivation.md]]
|
||||
---
|
||||
@@ -0,0 +1,32 @@
|
||||
---
|
||||
id: P-REINFORCE-AUTO-4A99EB
|
||||
category: "[[10_Wiki/💡 Topics/Graphics & Performance]]"
|
||||
confidence_score: 0.90
|
||||
tags: [auto-reinforced]
|
||||
last_reinforced: 2026-04-20
|
||||
github_commit: "[P-Reinforce] Continuous Worker - JavaScript"
|
||||
---
|
||||
|
||||
# [[JavaScript]]
|
||||
|
||||
## 📌 한 줄 통찰 (The Karpathy Summary)
|
||||
> JavaScript는 단일 페이지 애플리케이션을 구축하고 WebGL, WebGPU와 같은 웹 브라우저 API를 제어하는 데 사용되는 핵심 스크립팅 언어입니다 [1, 2]. 애플리케이션 로직, 이벤트 처리 및 데이터 준비에 필수적이지만, 브라우저의 메인 스레드에서 무거운 JavaScript를 실행하거나 가비지 컬렉션이 발생하면 심각한 성능 병목 현상이 생길 수 있습니다 [3-5]. 따라서 최근의 웹 성능 최적화는 JavaScript 페이로드를 줄이고, 실행 시간을 분할하며, 무거운 연산을 GPU로 오프로드하는 방향으로 발전하고 있습니다 [6, 7].
|
||||
|
||||
## 📖 구조화된 지식 (Synthesized Content)
|
||||
* **웹 그래픽(WebGL 및 WebGPU)에서의 역할:** JavaScript는 브라우저의 WebGL 및 WebGPU API와 상호 작용하기 위한 인터페이스 언어입니다 [2, 8]. WebGL 환경에서 JavaScript 프로그램은 CPU에서 실행되며, 3D 모델 데이터 변환, 버퍼 객체 생성, 유니폼(Uniform) 변수 설정 및 드로우 콜(Draw call) 발행 등의 작업을 수행합니다 [9, 10]. 그러나 JavaScript 프로그램과 GPU 간의 빈번한 통신 및 브라우저 API 호출은 렌더링 속도를 저하시키는 큰 오버헤드를 발생시킵니다 [11, 12]. 이러한 문제를 해결하기 위해 등장한 WebGPU는 애니메이션이나 정렬과 같은 로직을 GPU의 컴퓨트 셰이더(Compute shader)로 직접 오프로드하여 JavaScript 런타임으로 인한 메인 스레드 병목 현상을 획기적으로 줄여줍니다 [6, 13, 14].
|
||||
* **성능 영향 및 최적화:** JavaScript 실행은 INP(Interaction to Next Paint) 및 TBT(Total Blocking Time)와 같은 코어 웹 바이탈(Core Web Vitals) 성능 지표에 직접적인 영향을 미칩니다 [7, 15]. 메인 스레드를 50ms 이상 차단하는 긴 작업(Long tasks)은 사용자 상호 작용에 대한 응답을 지연시킵니다 [7]. 또한, JavaScript의 가비지 컬렉션(Garbage Collection) 프로세스는 개발자가 제어할 수 없는 시점에 일시 중지를 유발하여 렌더링 끊김(Stutter)이나 불규칙한 프레임 속도를 발생시킬 수 있습니다 [4, 8]. 이를 최적화하기 위해 개발자는 긴 작업을 더 작은 비동기 청크로 분할하고, 필수적이지 않은 JS를 지연 로드(Defer/Lazy load)하며, 가비지가 없는(garbage-free) 코드를 작성해야 합니다 [7, 16, 17].
|
||||
* **성능 모니터링 및 디버깅:** Chrome DevTools의 성능(Performance) 패널은 JavaScript 성능을 프로파일링하는 데 필수적인 도구입니다 [3]. 이 도구를 통해 개발자는 메인 스레드 활동의 플레임 차트(Flame chart)를 분석하고, JavaScript 함수의 세부 호출 스택을 확인하며, 강제 동기식 레이아웃(Forced synchronous layouts)을 유발하거나 상호 작용 처리를 지연시키는 특정 스크립트를 식별할 수 있습니다 [3, 18, 19]. 또한, Long Animation Frames API를 기반으로 사용자 상호 작용을 지연시키는 스크립트의 레이아웃 작업 및 스크립팅 작업 비율을 확인할 수 있습니다 [20].
|
||||
|
||||
## ⚠️ 모순 및 업데이트 (Contradictions & RL Update)
|
||||
- **과거 데이터와의 충돌:** 자동화 엔진에 의해 매핑된 지식으로, 추후 정밀 검증 필요.
|
||||
- **정책 변화:** Graphics & Performance 분야의 자동 자산화 수행.
|
||||
|
||||
## 🔗 지식 연결 (Graph)
|
||||
- **Related Topics:** `[[WebGL]]`, `[[WebGPU]]`, `[[Interaction to Next Paint (INP)]]`, `[[Garbage Collection]]`, `[[Chrome DevTools]]`
|
||||
- **Projects/Contexts:** `[[Three.js]]`, `[[웹 그래픽 성능 최적화(Web Graphics Performance Optimization)]]`
|
||||
- **Contradictions/Notes:** WebGL을 구동하기 위해 JavaScript는 필수적이지만, CPU 측의 JavaScript 실행 및 상태 유효성 검사 오버헤드가 오히려 렌더링 성능을 제한하는 가장 큰 병목으로 작용합니다. 이로 인해 3D 렌더링 산업은 JavaScript의 개입을 줄이고 GPU의 병렬 연산을 극대화할 수 있는 WebGPU로 빠르게 전환하는 추세입니다 [5, 6, 13].
|
||||
|
||||
---
|
||||
*Last updated: 2026-04-19*
|
||||
- Raw Source: [[00_Raw/2026-04-20/JavaScript.md]]
|
||||
---
|
||||
@@ -0,0 +1,25 @@
|
||||
---
|
||||
id: P-REINFORCE-AUTO-9FC608
|
||||
category: "[[10_Wiki/💡 Topics/Graphics & Performance]]"
|
||||
confidence_score: 0.90
|
||||
tags: [auto-reinforced]
|
||||
last_reinforced: 2026-04-20
|
||||
github_commit: "[P-Reinforce] Continuous Worker - Knowledge-Graphs"
|
||||
---
|
||||
|
||||
# [[Knowledge-Graphs]]
|
||||
|
||||
## 📌 한 줄 통찰 (The Karpathy Summary)
|
||||
> 지식 요약 정보 추출 중...
|
||||
|
||||
## 📖 구조화된 지식 (Synthesized Content)
|
||||
본문 구조화 작업 중...
|
||||
|
||||
## ⚠️ 모순 및 업데이트 (Contradictions & RL Update)
|
||||
- **과거 데이터와의 충돌:** 자동화 엔진에 의해 매핑된 지식으로, 추후 정밀 검증 필요.
|
||||
- **정책 변화:** Graphics & Performance 분야의 자동 자산화 수행.
|
||||
|
||||
## 🔗 지식 연결 (Graph)
|
||||
|
||||
- Raw Source: [[00_Raw/2026-04-20/Knowledge-Graphs.md]]
|
||||
---
|
||||
@@ -0,0 +1,25 @@
|
||||
---
|
||||
id: P-REINFORCE-AUTO-83E00E
|
||||
category: "[[10_Wiki/💡 Topics/Graphics & Performance]]"
|
||||
confidence_score: 0.90
|
||||
tags: [auto-reinforced]
|
||||
last_reinforced: 2026-04-20
|
||||
github_commit: "[P-Reinforce] Continuous Worker - Looking-Glass-Studios"
|
||||
---
|
||||
|
||||
# [[Looking-Glass-Studios]]
|
||||
|
||||
## 📌 한 줄 통찰 (The Karpathy Summary)
|
||||
> 지식 요약 정보 추출 중...
|
||||
|
||||
## 📖 구조화된 지식 (Synthesized Content)
|
||||
본문 구조화 작업 중...
|
||||
|
||||
## ⚠️ 모순 및 업데이트 (Contradictions & RL Update)
|
||||
- **과거 데이터와의 충돌:** 자동화 엔진에 의해 매핑된 지식으로, 추후 정밀 검증 필요.
|
||||
- **정책 변화:** Graphics & Performance 분야의 자동 자산화 수행.
|
||||
|
||||
## 🔗 지식 연결 (Graph)
|
||||
|
||||
- Raw Source: [[00_Raw/2026-04-20/Looking-Glass-Studios.md]]
|
||||
---
|
||||
+25
@@ -0,0 +1,25 @@
|
||||
---
|
||||
id: P-REINFORCE-AUTO-4B1863
|
||||
category: "[[10_Wiki/💡 Topics/Graphics & Performance]]"
|
||||
confidence_score: 0.90
|
||||
tags: [auto-reinforced]
|
||||
last_reinforced: 2026-04-20
|
||||
github_commit: "[P-Reinforce] Continuous Worker - Loot Box Regulation (EU_China Compliance)"
|
||||
---
|
||||
|
||||
# [[Loot Box Regulation (EU_China Compliance)]]
|
||||
|
||||
## 📌 한 줄 통찰 (The Karpathy Summary)
|
||||
> 지식 요약 정보 추출 중...
|
||||
|
||||
## 📖 구조화된 지식 (Synthesized Content)
|
||||
본문 구조화 작업 중...
|
||||
|
||||
## ⚠️ 모순 및 업데이트 (Contradictions & RL Update)
|
||||
- **과거 데이터와의 충돌:** 자동화 엔진에 의해 매핑된 지식으로, 추후 정밀 검증 필요.
|
||||
- **정책 변화:** Graphics & Performance 분야의 자동 자산화 수행.
|
||||
|
||||
## 🔗 지식 연결 (Graph)
|
||||
|
||||
- Raw Source: [[00_Raw/2026-04-20/Loot Box Regulation (EU_China Compliance).md]]
|
||||
---
|
||||
@@ -0,0 +1,25 @@
|
||||
---
|
||||
id: P-REINFORCE-AUTO-397611
|
||||
category: "[[10_Wiki/💡 Topics/Graphics & Performance]]"
|
||||
confidence_score: 0.90
|
||||
tags: [auto-reinforced]
|
||||
last_reinforced: 2026-04-20
|
||||
github_commit: "[P-Reinforce] Continuous Worker - Ludology"
|
||||
---
|
||||
|
||||
# [[Ludology]]
|
||||
|
||||
## 📌 한 줄 통찰 (The Karpathy Summary)
|
||||
> 지식 요약 정보 추출 중...
|
||||
|
||||
## 📖 구조화된 지식 (Synthesized Content)
|
||||
본문 구조화 작업 중...
|
||||
|
||||
## ⚠️ 모순 및 업데이트 (Contradictions & RL Update)
|
||||
- **과거 데이터와의 충돌:** 자동화 엔진에 의해 매핑된 지식으로, 추후 정밀 검증 필요.
|
||||
- **정책 변화:** Graphics & Performance 분야의 자동 자산화 수행.
|
||||
|
||||
## 🔗 지식 연결 (Graph)
|
||||
|
||||
- Raw Source: [[00_Raw/2026-04-20/Ludology.md]]
|
||||
---
|
||||
@@ -0,0 +1,25 @@
|
||||
---
|
||||
id: P-REINFORCE-AUTO-14D7A9
|
||||
category: "[[10_Wiki/💡 Topics/Graphics & Performance]]"
|
||||
confidence_score: 0.90
|
||||
tags: [auto-reinforced]
|
||||
last_reinforced: 2026-04-20
|
||||
github_commit: "[P-Reinforce] Continuous Worker - MDA Framework"
|
||||
---
|
||||
|
||||
# [[MDA Framework]]
|
||||
|
||||
## 📌 한 줄 통찰 (The Karpathy Summary)
|
||||
> 지식 요약 정보 추출 중...
|
||||
|
||||
## 📖 구조화된 지식 (Synthesized Content)
|
||||
본문 구조화 작업 중...
|
||||
|
||||
## ⚠️ 모순 및 업데이트 (Contradictions & RL Update)
|
||||
- **과거 데이터와의 충돌:** 자동화 엔진에 의해 매핑된 지식으로, 추후 정밀 검증 필요.
|
||||
- **정책 변화:** Graphics & Performance 분야의 자동 자산화 수행.
|
||||
|
||||
## 🔗 지식 연결 (Graph)
|
||||
|
||||
- Raw Source: [[00_Raw/2026-04-20/MDA Framework.md]]
|
||||
---
|
||||
@@ -0,0 +1,25 @@
|
||||
---
|
||||
id: P-REINFORCE-AUTO-D62F53
|
||||
category: "[[10_Wiki/💡 Topics/Graphics & Performance]]"
|
||||
confidence_score: 0.90
|
||||
tags: [auto-reinforced]
|
||||
last_reinforced: 2026-04-20
|
||||
github_commit: "[P-Reinforce] Continuous Worker - MDA-Framework"
|
||||
---
|
||||
|
||||
# [[MDA-Framework]]
|
||||
|
||||
## 📌 한 줄 통찰 (The Karpathy Summary)
|
||||
> 지식 요약 정보 추출 중...
|
||||
|
||||
## 📖 구조화된 지식 (Synthesized Content)
|
||||
본문 구조화 작업 중...
|
||||
|
||||
## ⚠️ 모순 및 업데이트 (Contradictions & RL Update)
|
||||
- **과거 데이터와의 충돌:** 자동화 엔진에 의해 매핑된 지식으로, 추후 정밀 검증 필요.
|
||||
- **정책 변화:** Graphics & Performance 분야의 자동 자산화 수행.
|
||||
|
||||
## 🔗 지식 연결 (Graph)
|
||||
|
||||
- Raw Source: [[00_Raw/2026-04-20/MDA-Framework.md]]
|
||||
---
|
||||
@@ -0,0 +1,25 @@
|
||||
---
|
||||
id: P-REINFORCE-AUTO-14D223
|
||||
category: "[[10_Wiki/💡 Topics/Graphics & Performance]]"
|
||||
confidence_score: 0.90
|
||||
tags: [auto-reinforced]
|
||||
last_reinforced: 2026-04-20
|
||||
github_commit: "[P-Reinforce] Continuous Worker - Markov Decision Process (MDP)"
|
||||
---
|
||||
|
||||
# [[Markov Decision Process (MDP)]]
|
||||
|
||||
## 📌 한 줄 통찰 (The Karpathy Summary)
|
||||
> 지식 요약 정보 추출 중...
|
||||
|
||||
## 📖 구조화된 지식 (Synthesized Content)
|
||||
본문 구조화 작업 중...
|
||||
|
||||
## ⚠️ 모순 및 업데이트 (Contradictions & RL Update)
|
||||
- **과거 데이터와의 충돌:** 자동화 엔진에 의해 매핑된 지식으로, 추후 정밀 검증 필요.
|
||||
- **정책 변화:** Graphics & Performance 분야의 자동 자산화 수행.
|
||||
|
||||
## 🔗 지식 연결 (Graph)
|
||||
|
||||
- Raw Source: [[00_Raw/2026-04-20/Markov Decision Process (MDP).md]]
|
||||
---
|
||||
@@ -0,0 +1,25 @@
|
||||
---
|
||||
id: P-REINFORCE-AUTO-336A60
|
||||
category: "[[10_Wiki/💡 Topics/Graphics & Performance]]"
|
||||
confidence_score: 0.90
|
||||
tags: [auto-reinforced]
|
||||
last_reinforced: 2026-04-20
|
||||
github_commit: "[P-Reinforce] Continuous Worker - Markov Decision Processes"
|
||||
---
|
||||
|
||||
# [[Markov Decision Processes]]
|
||||
|
||||
## 📌 한 줄 통찰 (The Karpathy Summary)
|
||||
> 지식 요약 정보 추출 중...
|
||||
|
||||
## 📖 구조화된 지식 (Synthesized Content)
|
||||
본문 구조화 작업 중...
|
||||
|
||||
## ⚠️ 모순 및 업데이트 (Contradictions & RL Update)
|
||||
- **과거 데이터와의 충돌:** 자동화 엔진에 의해 매핑된 지식으로, 추후 정밀 검증 필요.
|
||||
- **정책 변화:** Graphics & Performance 분야의 자동 자산화 수행.
|
||||
|
||||
## 🔗 지식 연결 (Graph)
|
||||
|
||||
- Raw Source: [[00_Raw/2026-04-20/Markov Decision Processes.md]]
|
||||
---
|
||||
@@ -0,0 +1,25 @@
|
||||
---
|
||||
id: P-REINFORCE-AUTO-5BCF2D
|
||||
category: "[[10_Wiki/💡 Topics/Graphics & Performance]]"
|
||||
confidence_score: 0.90
|
||||
tags: [auto-reinforced]
|
||||
last_reinforced: 2026-04-20
|
||||
github_commit: "[P-Reinforce] Continuous Worker - Mathematical Game Theory"
|
||||
---
|
||||
|
||||
# [[Mathematical Game Theory]]
|
||||
|
||||
## 📌 한 줄 통찰 (The Karpathy Summary)
|
||||
> 지식 요약 정보 추출 중...
|
||||
|
||||
## 📖 구조화된 지식 (Synthesized Content)
|
||||
본문 구조화 작업 중...
|
||||
|
||||
## ⚠️ 모순 및 업데이트 (Contradictions & RL Update)
|
||||
- **과거 데이터와의 충돌:** 자동화 엔진에 의해 매핑된 지식으로, 추후 정밀 검증 필요.
|
||||
- **정책 변화:** Graphics & Performance 분야의 자동 자산화 수행.
|
||||
|
||||
## 🔗 지식 연결 (Graph)
|
||||
|
||||
- Raw Source: [[00_Raw/2026-04-20/Mathematical Game Theory.md]]
|
||||
---
|
||||
@@ -0,0 +1,25 @@
|
||||
---
|
||||
id: P-REINFORCE-AUTO-06771D
|
||||
category: "[[10_Wiki/💡 Topics/Graphics & Performance]]"
|
||||
confidence_score: 0.90
|
||||
tags: [auto-reinforced]
|
||||
last_reinforced: 2026-04-20
|
||||
github_commit: "[P-Reinforce] Continuous Worker - Measure Theory"
|
||||
---
|
||||
|
||||
# [[Measure Theory]]
|
||||
|
||||
## 📌 한 줄 통찰 (The Karpathy Summary)
|
||||
> 지식 요약 정보 추출 중...
|
||||
|
||||
## 📖 구조화된 지식 (Synthesized Content)
|
||||
본문 구조화 작업 중...
|
||||
|
||||
## ⚠️ 모순 및 업데이트 (Contradictions & RL Update)
|
||||
- **과거 데이터와의 충돌:** 자동화 엔진에 의해 매핑된 지식으로, 추후 정밀 검증 필요.
|
||||
- **정책 변화:** Graphics & Performance 분야의 자동 자산화 수행.
|
||||
|
||||
## 🔗 지식 연결 (Graph)
|
||||
|
||||
- Raw Source: [[00_Raw/2026-04-20/Measure Theory.md]]
|
||||
---
|
||||
@@ -0,0 +1,34 @@
|
||||
---
|
||||
id: P-REINFORCE-AUTO-5A05AF
|
||||
category: "[[10_Wiki/💡 Topics/Graphics & Performance]]"
|
||||
confidence_score: 0.90
|
||||
tags: [auto-reinforced]
|
||||
last_reinforced: 2026-04-20
|
||||
github_commit: "[P-Reinforce] Continuous Worker - Memory Leaks"
|
||||
---
|
||||
|
||||
# [[Memory Leaks]]
|
||||
|
||||
## 📌 한 줄 통찰 (The Karpathy Summary)
|
||||
> Three.js 및 WebGL 환경에서 메모리 누수(Memory Leaks)는 GPU 리소스가 자동으로 가비지 컬렉션(Garbage Collection)되지 않아 VRAM 등 메모리 사용량이 지속적으로 증가하는 현상을 의미합니다 [1]. 이는 주로 지오메트리, 재질, 텍스처 등의 렌더링 리소스를 코드 상에서 명시적으로 해제하지 않았을 때 발생합니다 [1, 2]. 메모리 누수를 방지하려면 렌더러 정보를 통한 지속적인 모니터링과 올바른 메모리 관리 기법의 적용이 필수적입니다 [2].
|
||||
|
||||
## 📖 구조화된 지식 (Synthesized Content)
|
||||
* **GPU 리소스의 수동 해제:** Three.js는 GPU 리소스를 자동으로 가비지 컬렉션하지 않기 때문에, 더 이상 사용하지 않는 자원은 반드시 개발자가 직접 **`geometry.dispose()`, `material.dispose()`, `texture.dispose()`, `renderTarget.dispose()`**를 호출하여 해제해야 합니다 [1-3].
|
||||
* **GLTF ImageBitmap 특수 처리:** GLTF 모델에서 불러온 텍스처는 `ImageBitmap` 객체로 로드되므로 누수를 막기 위한 추가적인 처리가 필요합니다 [3]. 이러한 텍스처는 일반적인 `dispose()` 외에도 반드시 **`texture.source.data.close?.()`**를 호출하여 명시적으로 닫아주어야 ImageBitmap 객체의 메모리 누수를 막을 수 있습니다 [2, 3].
|
||||
* **오브젝트 풀링(Object Pooling) 도입:** 런타임 중 빈번하게 생성되고 파괴되는 오브젝트(예: 총알, 파티클, 적 등)는 메모리 할당 오버헤드와 이로 인한 가비지 컬렉션 지연(GC pauses)을 유발할 수 있습니다 [3]. 이를 방지하기 위해 새로운 객체를 매번 할당하는 대신 기존 객체를 재활용하는 **객체 풀링(Object Pooling)** 패턴을 구현해야 합니다 [2, 3].
|
||||
* **메모리 누수 모니터링:** 런타임에 메모리 누수가 발생하고 있는지 확인하려면 **`renderer.info.memory`** 지표를 주기적으로 모니터링해야 합니다 [1, 2]. 해당 지표에서 지오메트리와 텍스처의 카운트가 떨어지지 않고 계속해서 상승하기만 한다면, 명확한 메모리 누수로 판단할 수 있습니다 [1, 2].
|
||||
* **에셋 스트리밍(Asset Streaming) 및 메모리 한계:** WebGL 컨텍스트는 제한된 메모리 용량(통상 256MB~1GB)을 지니고 있어 이를 초과하면 브라우저 크래시나 프리징이 발생할 수 있습니다 [4]. 무한한 크기의 씬이라도 카메라에서 100 유닛 이상 멀어진 자원들에 대해 `dispose()`를 호출해 메모리를 해제하는 스트리밍 방식을 적용하면, 활성화된 모델만 메모리에 유지하여 메모리 누수 및 고갈을 방지할 수 있습니다 [5].
|
||||
|
||||
## ⚠️ 모순 및 업데이트 (Contradictions & RL Update)
|
||||
- **과거 데이터와의 충돌:** 자동화 엔진에 의해 매핑된 지식으로, 추후 정밀 검증 필요.
|
||||
- **정책 변화:** Graphics & Performance 분야의 자동 자산화 수행.
|
||||
|
||||
## 🔗 지식 연결 (Graph)
|
||||
- **Related Topics:** [[Garbage Collection]], [[Object Pooling]], [[Dispose()]], [[ImageBitmap]]
|
||||
- **Projects/Contexts:** [[Three.js Memory Management]], [[Asset Streaming in WebGL]]
|
||||
- **Contradictions/Notes:** 소스 간의 모순점은 발견되지 않았으며, 제공된 소스들은 모두 공통적으로 Three.js 엔진 환경에서 메모리 누수를 방지하기 위해 '사용이 끝난 자원의 명시적 해제(dispose)'가 절대적으로 필요함을 강조하고 있습니다.
|
||||
|
||||
---
|
||||
*Last updated: 2026-04-19*
|
||||
- Raw Source: [[00_Raw/2026-04-20/Memory Leaks.md]]
|
||||
---
|
||||
@@ -0,0 +1,35 @@
|
||||
---
|
||||
id: P-REINFORCE-AUTO-56F596
|
||||
category: "[[10_Wiki/💡 Topics/Graphics & Performance]]"
|
||||
confidence_score: 0.90
|
||||
tags: [auto-reinforced]
|
||||
last_reinforced: 2026-04-20
|
||||
github_commit: "[P-Reinforce] Continuous Worker - MeshStandardMaterial 조명 연산"
|
||||
---
|
||||
|
||||
# [[MeshStandardMaterial 조명 연산]]
|
||||
|
||||
## 📌 한 줄 통찰 (The Karpathy Summary)
|
||||
> MeshStandardMaterial은 금속성-거칠기(metallic-roughness) 워크플로우를 사용하는 물리 기반 렌더링(PBR) 모델을 기반으로 한 Three.js의 재질입니다 [1]. 이 재질은 에너지 보존 법칙과 프레넬 반사(Fresnel reflections)와 같은 복잡한 조명 연산을 필요로 하므로, 세밀한 사실성을 제공하지만 Three.js 내에서 가장 연산 비용이 높은 재질 중 하나로 꼽힙니다 [1].
|
||||
|
||||
## 📖 구조화된 지식 (Synthesized Content)
|
||||
* **조명 연산의 구조 및 복잡성:**
|
||||
MeshStandardMaterial의 조명 연산은 알베도(albedo), 노멀(normal), 금속성(metallic), 거칠기(roughness), 앰비언트 오클루전(AO) 등의 다양한 텍스처 맵과 환경 반사를 결합하여 이루어집니다 [1, 2]. 이 과정에서 화면에 보이는 픽셀(프래그먼트) 하나당 15~20개의 텍스처 샘플을 처리해야 하며, 수십 번의 복잡한 수학적 연산이 요구됩니다 [2].
|
||||
* **성능 병목 현상 및 프래그먼트 바운드(Fragment-bound):**
|
||||
연산이 매우 무겁기 때문에 수많은 객체가 화면에 겹쳐서 렌더링되는 오버드로우(Overdraw) 현상이 발생할 경우, 중복된 조명 연산으로 인해 씬이 프래그먼트 바운드 상태에 빠지며 심각한 성능 저하를 유발합니다 [3]. 예를 들어 내장 그래픽(iGPU) 환경에서 이 재질을 사용해 100만 개 이상의 삼각형을 렌더링할 경우, 프래그먼트 프로세서가 포화되어 프레임 레이트가 30 이하로 급락할 수 있습니다 [1].
|
||||
* **조명 연산 최적화 기법:**
|
||||
MeshStandardMaterial을 유지하면서 수백 개 이상의 다양한 객체를 최적화하여 그리기 위해, 각 객체의 재질 속성(색상, 방출, 거칠기, 금속성 등)을 하나의 데이터 텍스처에 패킹(packing)하는 기법이 활용될 수 있습니다 [4]. 이후 `onBeforeCompile`을 통해 셰이더가 기존 유니폼(Uniform) 대신 해당 텍스처의 값을 읽도록 수정하면, 동일한 셰이더를 공유하면서 단 한 번의 드로우 콜로 다양한 물리 기반 속성을 렌더링할 수 있습니다 [4].
|
||||
|
||||
## ⚠️ 모순 및 업데이트 (Contradictions & RL Update)
|
||||
- **과거 데이터와의 충돌:** 자동화 엔진에 의해 매핑된 지식으로, 추후 정밀 검증 필요.
|
||||
- **정책 변화:** Graphics & Performance 분야의 자동 자산화 수행.
|
||||
|
||||
## 🔗 지식 연결 (Graph)
|
||||
- **Related Topics:** [[Physically Based Rendering (PBR)]], [[오버드로우 (Overdraw)]], [[프래그먼트 바운드 (Fragment-bound)]]
|
||||
- **Projects/Contexts:** [[Three.js 대규모 씬 최적화]]
|
||||
- **Contradictions/Notes:** 극도의 사실성을 제공하는 현대적인 표준 재질이지만, 연산량이 많아 저사양 하드웨어에서는 비물리 기반의 MeshPhongMaterial 등 보다 가벼운 조명 모델을 사용하는 것이 추천될 만큼 렌더링 비용 면에서 뚜렷한 트레이드오프가 존재합니다 [1, 5].
|
||||
|
||||
---
|
||||
*Last updated: 2026-04-19*
|
||||
- Raw Source: [[00_Raw/2026-04-20/MeshStandardMaterial 조명 연산.md]]
|
||||
---
|
||||
@@ -0,0 +1,25 @@
|
||||
---
|
||||
id: P-REINFORCE-AUTO-65D468
|
||||
category: "[[10_Wiki/💡 Topics/Graphics & Performance]]"
|
||||
confidence_score: 0.90
|
||||
tags: [auto-reinforced]
|
||||
last_reinforced: 2026-04-20
|
||||
github_commit: "[P-Reinforce] Continuous Worker - Meta Quest_Horizon OS"
|
||||
---
|
||||
|
||||
# [[Meta Quest_Horizon OS]]
|
||||
|
||||
## 📌 한 줄 통찰 (The Karpathy Summary)
|
||||
> 지식 요약 정보 추출 중...
|
||||
|
||||
## 📖 구조화된 지식 (Synthesized Content)
|
||||
본문 구조화 작업 중...
|
||||
|
||||
## ⚠️ 모순 및 업데이트 (Contradictions & RL Update)
|
||||
- **과거 데이터와의 충돌:** 자동화 엔진에 의해 매핑된 지식으로, 추후 정밀 검증 필요.
|
||||
- **정책 변화:** Graphics & Performance 분야의 자동 자산화 수행.
|
||||
|
||||
## 🔗 지식 연결 (Graph)
|
||||
|
||||
- Raw Source: [[00_Raw/2026-04-20/Meta Quest_Horizon OS.md]]
|
||||
---
|
||||
@@ -0,0 +1,33 @@
|
||||
---
|
||||
id: P-REINFORCE-AUTO-939802
|
||||
category: "[[10_Wiki/💡 Topics/Graphics & Performance]]"
|
||||
confidence_score: 0.90
|
||||
tags: [auto-reinforced]
|
||||
last_reinforced: 2026-04-20
|
||||
github_commit: "[P-Reinforce] Continuous Worker - Metal"
|
||||
---
|
||||
|
||||
# [[Metal]]
|
||||
|
||||
## 📌 한 줄 통찰 (The Karpathy Summary)
|
||||
> Metal은 주요 제조업체의 독점적인 차세대 네이티브 GPU API 중 하나입니다 [1]. Vulkan, Direct3D 12(DX12)와 함께 노후화된 OpenGL 표준을 대체하는 웹용 차세대 그래픽 API인 WebGPU의 설계와 프로그래밍 모델에 직접적인 영감을 제공한 핵심 기술입니다 [1-3].
|
||||
|
||||
## 📖 구조화된 지식 (Synthesized Content)
|
||||
* **WebGPU 설계의 기반:** WebGPU는 노후화된 OpenGL 표준에 의존하지 않고, Metal을 비롯한 현대적인 네이티브 API(Vulkan, DX12 등)를 수용하도록 밑바닥부터 새롭게 설계되었습니다 [1-3].
|
||||
* **명시적(Explicit) 렌더링 접근법:** WebGPU는 Metal과 같은 현대 API들이 사용하는 명시적 접근 방식을 채택했습니다. 기존의 가변적인 전역 상태(global state) 모델 대신 불변하는 파이프라인 객체, 바인드 그룹(bind groups), 커맨드 버퍼를 사용하여 렌더링을 구성함으로써 드라이버 최적화를 극대화하고 버그를 줄입니다 [4].
|
||||
* **WebGPU 백엔드(Backend) 어댑터:** Chrome 등의 브라우저에서 개발자 기능을 활성화한 후 WebGPU 어댑터 정보(`requestAdapterInfo()`)를 요청할 때, 실행을 담당하는 백엔드 중 하나로 "metal"이 식별되어 사용될 수 있습니다 [5].
|
||||
* **성능 최적화 동향:** WebGPU의 지속적인 업데이트 과정에서 Metal 백엔드 환경을 위한 최적화가 이루어지고 있으며, 일례로 Chrome 130 릴리스에서는 Metal 상에서의 셰이더 컴파일 시간이 개선된 바 있습니다 [6].
|
||||
|
||||
## ⚠️ 모순 및 업데이트 (Contradictions & RL Update)
|
||||
- **과거 데이터와의 충돌:** 자동화 엔진에 의해 매핑된 지식으로, 추후 정밀 검증 필요.
|
||||
- **정책 변화:** Graphics & Performance 분야의 자동 자산화 수행.
|
||||
|
||||
## 🔗 지식 연결 (Graph)
|
||||
- **Related Topics:** [[WebGPU]], [[Vulkan]], [[Direct3D 12 (DX12)]], [[OpenGL]]
|
||||
- **Projects/Contexts:** [[WebGPU Backend]]
|
||||
- **Contradictions/Notes:** 소스에 관련 정보가 부족합니다.
|
||||
|
||||
---
|
||||
*Last updated: 2026-04-19*
|
||||
- Raw Source: [[00_Raw/2026-04-20/Metal.md]]
|
||||
---
|
||||
@@ -0,0 +1,25 @@
|
||||
---
|
||||
id: P-REINFORCE-AUTO-7BDD7C
|
||||
category: "[[10_Wiki/💡 Topics/Graphics & Performance]]"
|
||||
confidence_score: 0.90
|
||||
tags: [auto-reinforced]
|
||||
last_reinforced: 2026-04-20
|
||||
github_commit: "[P-Reinforce] Continuous Worker - Metaverse Architecture"
|
||||
---
|
||||
|
||||
# [[Metaverse Architecture]]
|
||||
|
||||
## 📌 한 줄 통찰 (The Karpathy Summary)
|
||||
> 지식 요약 정보 추출 중...
|
||||
|
||||
## 📖 구조화된 지식 (Synthesized Content)
|
||||
본문 구조화 작업 중...
|
||||
|
||||
## ⚠️ 모순 및 업데이트 (Contradictions & RL Update)
|
||||
- **과거 데이터와의 충돌:** 자동화 엔진에 의해 매핑된 지식으로, 추후 정밀 검증 필요.
|
||||
- **정책 변화:** Graphics & Performance 분야의 자동 자산화 수행.
|
||||
|
||||
## 🔗 지식 연결 (Graph)
|
||||
|
||||
- Raw Source: [[00_Raw/2026-04-20/Metaverse Architecture.md]]
|
||||
---
|
||||
@@ -0,0 +1,30 @@
|
||||
---
|
||||
id: P-REINFORCE-AUTO-B64E78
|
||||
category: "[[10_Wiki/💡 Topics/Graphics & Performance]]"
|
||||
confidence_score: 0.90
|
||||
tags: [auto-reinforced]
|
||||
last_reinforced: 2026-04-20
|
||||
github_commit: "[P-Reinforce] Continuous Worker - Micro-latency"
|
||||
---
|
||||
|
||||
# [[Micro-latency]]
|
||||
|
||||
## 📌 한 줄 통찰 (The Karpathy Summary)
|
||||
> 웹 그래픽 파이프라인에서 마이크로 레이턴시(Micro-latency)는 60Hz 디스플레이 기준 16.67ms와 같은 엄격한 시간 예산 내에서 하드웨어와 소프트웨어 구성 요소가 동기화할 때 발생하는 미세한 지연을 의미합니다 [1]. 이는 JavaScript 엔진의 가비지 컬렉션, WebGL 및 ANGLE과 같은 API 변환, OS의 컨텍스트 생성, 디스플레이 하드웨어 등 여러 계층에서 복합적으로 발생하며 [2-5], 이러한 미세 지연이 누적되면 프레임 누락이나 인지 가능한 끊김(Stuttering) 현상으로 이어집니다 [1, 5]. 최근에는 Spectre 및 Meltdown과 같은 보안 취약점 완화 조치로 인해 시스템의 기본 마이크로 레이턴시가 소폭 증가하기도 했습니다 [6, 7].
|
||||
|
||||
## 📖 구조화된 지식 (Synthesized Content)
|
||||
본문 구조화 작업 중...
|
||||
|
||||
## ⚠️ 모순 및 업데이트 (Contradictions & RL Update)
|
||||
- **과거 데이터와의 충돌:** 자동화 엔진에 의해 매핑된 지식으로, 추후 정밀 검증 필요.
|
||||
- **정책 변화:** Graphics & Performance 분야의 자동 자산화 수행.
|
||||
|
||||
## 🔗 지식 연결 (Graph)
|
||||
- **Related Topics:** [[WebGL]], [[WebGPU]], [[Spectre and Meltdown]], [[EXT_disjoint_timer_query]], [[ANGLE (Almost Native Graphics Layer Engine)]]
|
||||
- **Projects/Contexts:** [[WebSplatter (3D Gaussian Splatting)]], [[CesiumJS]], [[Figma]]
|
||||
- **Contradictions/Notes:** 소스에 따르면, 성능 분석을 위한 정밀한 마이크로 레이턴시 측정의 필요성과 시스템 보안(Spectre/Meltdown 공격 방어) 사이에 명확한 상충(Conflict)이 존재합니다. 고정밀 타이머가 사이드 채널 공격에 악용될 수 있다는 연구 결과에 따라 브라우저 벤더들은 `EXT_disjoint_timer_query`를 비활성화하거나 타이머 해상도를 인위적으로 낮추는(Quantization) 타협안을 채택해야만 했습니다 [6, 10-12, 18].
|
||||
|
||||
---
|
||||
*Last updated: 2026-04-19*
|
||||
- Raw Source: [[00_Raw/2026-04-20/Micro-latency.md]]
|
||||
---
|
||||
@@ -0,0 +1,25 @@
|
||||
---
|
||||
id: P-REINFORCE-AUTO-A3F579
|
||||
category: "[[10_Wiki/💡 Topics/Graphics & Performance]]"
|
||||
confidence_score: 0.90
|
||||
tags: [auto-reinforced]
|
||||
last_reinforced: 2026-04-20
|
||||
github_commit: "[P-Reinforce] Continuous Worker - Minecraft"
|
||||
---
|
||||
|
||||
# [[Minecraft]]
|
||||
|
||||
## 📌 한 줄 통찰 (The Karpathy Summary)
|
||||
> 지식 요약 정보 추출 중...
|
||||
|
||||
## 📖 구조화된 지식 (Synthesized Content)
|
||||
본문 구조화 작업 중...
|
||||
|
||||
## ⚠️ 모순 및 업데이트 (Contradictions & RL Update)
|
||||
- **과거 데이터와의 충돌:** 자동화 엔진에 의해 매핑된 지식으로, 추후 정밀 검증 필요.
|
||||
- **정책 변화:** Graphics & Performance 분야의 자동 자산화 수행.
|
||||
|
||||
## 🔗 지식 연결 (Graph)
|
||||
|
||||
- Raw Source: [[00_Raw/2026-04-20/Minecraft.md]]
|
||||
---
|
||||
@@ -0,0 +1,25 @@
|
||||
---
|
||||
id: P-REINFORCE-AUTO-7091B6
|
||||
category: "[[10_Wiki/💡 Topics/Graphics & Performance]]"
|
||||
confidence_score: 0.90
|
||||
tags: [auto-reinforced]
|
||||
last_reinforced: 2026-04-20
|
||||
github_commit: "[P-Reinforce] Continuous Worker - Minecraft_ Education Edition"
|
||||
---
|
||||
|
||||
# [[Minecraft_ Education Edition]]
|
||||
|
||||
## 📌 한 줄 통찰 (The Karpathy Summary)
|
||||
> 지식 요약 정보 추출 중...
|
||||
|
||||
## 📖 구조화된 지식 (Synthesized Content)
|
||||
본문 구조화 작업 중...
|
||||
|
||||
## ⚠️ 모순 및 업데이트 (Contradictions & RL Update)
|
||||
- **과거 데이터와의 충돌:** 자동화 엔진에 의해 매핑된 지식으로, 추후 정밀 검증 필요.
|
||||
- **정책 변화:** Graphics & Performance 분야의 자동 자산화 수행.
|
||||
|
||||
## 🔗 지식 연결 (Graph)
|
||||
|
||||
- Raw Source: [[00_Raw/2026-04-20/Minecraft_ Education Edition.md]]
|
||||
---
|
||||
+25
@@ -0,0 +1,25 @@
|
||||
---
|
||||
id: P-REINFORCE-AUTO-48096A
|
||||
category: "[[10_Wiki/💡 Topics/Graphics & Performance]]"
|
||||
confidence_score: 0.90
|
||||
tags: [auto-reinforced]
|
||||
last_reinforced: 2026-04-20
|
||||
github_commit: "[P-Reinforce] Continuous Worker - Mobile Gaming Monetization Strategies"
|
||||
---
|
||||
|
||||
# [[Mobile Gaming Monetization Strategies]]
|
||||
|
||||
## 📌 한 줄 통찰 (The Karpathy Summary)
|
||||
> 지식 요약 정보 추출 중...
|
||||
|
||||
## 📖 구조화된 지식 (Synthesized Content)
|
||||
본문 구조화 작업 중...
|
||||
|
||||
## ⚠️ 모순 및 업데이트 (Contradictions & RL Update)
|
||||
- **과거 데이터와의 충돌:** 자동화 엔진에 의해 매핑된 지식으로, 추후 정밀 검증 필요.
|
||||
- **정책 변화:** Graphics & Performance 분야의 자동 자산화 수행.
|
||||
|
||||
## 🔗 지식 연결 (Graph)
|
||||
|
||||
- Raw Source: [[00_Raw/2026-04-20/Mobile Gaming Monetization Strategies.md]]
|
||||
---
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user