--- id: [[P-Reinforce|P-Reinforce]]-AUTO-C06372 category: Dev confidence_score: 0.90 tags: [auto-reinforced] last_reinforced: 2026-04-20 github_commit: "[P-Reinforce] Continuous Worker - WebGPU" --- # [[WebGPU|WebGPU]] ## ๐Ÿ“Œ ํ•œ ์ค„ ํ†ต์ฐฐ (The Karpathy Summary) > WebGPU๋Š” ์›น ๋ธŒ๋ผ์šฐ์ € ํ™˜๊ฒฝ์—์„œ ๊ณ ์„ฑ๋Šฅ 3D ๊ทธ๋ž˜ํ”ฝ ๋ฐ ์—ฐ์‚ฐ์„ ์ฒ˜๋ฆฌํ•˜๊ธฐ ์œ„ํ•ด ์„ค๊ณ„๋œ ์ฐจ์„ธ๋Œ€ ๊ทธ๋ž˜ํ”ฝ API์ด๋‹ค [1]. ๊ธฐ์กด [[WebGL|WebGL]]์˜ ํ•œ๊ณ„๋ฅผ ๊ทน๋ณตํ•˜๊ณ  ์ปดํ“จํŠธ ์…ฐ์ด๋”(Compute Shaders), ์ง์ ‘์ ์ธ ๋ฉ”๋ชจ๋ฆฌ ๊ด€๋ฆฌ, ๋ฉ€ํ‹ฐ์Šค๋ ˆ๋”ฉ ๋“ฑ ์ตœ์‹  ํ•˜๋“œ์›จ์–ด ๊ธฐ๋Šฅ์„ ์›น์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ค€๋‹ค [2, 3]. Three.js์™€ ๊ฐ™์€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ํ†ตํ•ด ์‰ฝ๊ฒŒ ๋„์ž…ํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ํŠนํžˆ ๋“œ๋กœ์šฐ ์ฝœ([[Draw Call|Draw Call]])์ด ์ง‘์ค‘๋œ ์”ฌ์ด๋‚˜ ๋Œ€๊ทœ๋ชจ ๋ฌผ๋ฆฌ ์—ฐ์‚ฐ์—์„œ ๊ธฐ์กด WebGL ๋Œ€๋น„ ๋น„์•ฝ์ ์ธ ์„ฑ๋Šฅ ํ–ฅ์ƒ์„ ์ œ๊ณตํ•œ๋‹ค [4-6]. ## ๐Ÿ“– ๊ตฌ์กฐํ™”๋œ ์ง€์‹ (Synthesized Content) * **๋ธŒ๋ผ์šฐ์ € ์ง€์› ๋ฐ Three.js ๋„์ž…:** WebGPU๋Š” [[Chrome|Chrome]], Edge, Firefox, Safari(v26, 2025๋…„ 9์›” ์ดํ›„) ๋“ฑ ๋ชจ๋“  ์ฃผ์š” ๋ธŒ๋ผ์šฐ์ €์—์„œ ์ง€์›๋˜์–ด ์ƒ์šฉํ™” ์ค€๋น„๋ฅผ ๋งˆ์ณค๋‹ค [7]. Three.js ํ™˜๊ฒฝ์—์„œ๋Š” r171 ๋ฒ„์ „๋ถ€ํ„ฐ ๋ณ„๋„์˜ ๋ณต์žกํ•œ ์„ค์ • ์—†์ด `WebGPURenderer`๋ฅผ ๋น„๋™๊ธฐ๋กœ ์ดˆ๊ธฐํ™”ํ•˜์—ฌ ์†์‰ฝ๊ฒŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, WebGPU๋ฅผ ์ง€์›ํ•˜์ง€ ์•Š๋Š” ๊ธฐ๊ธฐ์—์„œ๋Š” ์ž๋™์œผ๋กœ WebGL 2๋กœ ๋Œ€์ฒด(Fallback)๋˜๋Š” ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•œ๋‹ค [2, 8, 9]. * **์„ฑ๋Šฅ ํ–ฅ์ƒ๊ณผ ์ปดํ“จํŠธ ์…ฐ์ด๋”([[Compute Shaders|Compute Shaders]]):** WebGPU๋Š” ๋“œ๋กœ์šฐ ์ฝœ์ด ๋งŽ์€ ํ™˜๊ฒฝ๊ณผ ์ž…์ž(Particle) ๋ฐ ๋ฌผ๋ฆฌ ์‹œ๋ฎฌ๋ ˆ์ด์…˜ ๊ฐ™์€ ์—ฐ์‚ฐ ์ง‘์•ฝ์ ์ธ ์ž‘์—…์—์„œ 2~10๋ฐฐ์˜ ์„ฑ๋Šฅ ํ–ฅ์ƒ์„ ๋ณด์—ฌ์ค€๋‹ค [4]. ๊ธฐ์กด CPU ๊ธฐ๋ฐ˜ ์‹œ์Šคํ…œ์—์„œ๋Š” ์•ฝ 5๋งŒ ๊ฐœ์˜ ํŒŒํ‹ฐํด์—์„œ ๋ณ‘๋ชฉ ํ˜„์ƒ์ด ๋ฐœ์ƒํ–ˆ์œผ๋‚˜, WebGPU์˜ ์ปดํ“จํŠธ ์…ฐ์ด๋”๋ฅผ ํ™œ์šฉํ•˜๋ฉด ์ˆ˜๋ฐฑ๋งŒ ๊ฐœ์˜ ํŒŒํ‹ฐํด์„ ์˜คํ”„์Šค๋ ˆ๋“œ๋กœ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๋‹ค [10, 11]. ์—ฐ์‚ฐ ์Šค๋ ˆ๋“œ ๊ฐ„ ๋ฐ์ดํ„ฐ ๊ณต์œ ๋ฅผ ์œ„ํ•œ ์ž‘์—… ๊ทธ๋ฃน ๊ณต์œ  ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ์ œ๊ณตํ•˜๋ฉฐ, ์ ˆ์ฐจ์  ์ง€ํ˜• ์ƒ์„ฑ ๋ฐ ์‹ค์‹œ๊ฐ„ ์œ ์ฒด ์‹œ๋ฎฌ๋ ˆ์ด์…˜์— ํƒ์›”ํ•˜๋‹ค [12, 13]. * **๋ฐ”์ธ๋”ฉ ๋ชจ๋ธ ๋ฐ ๋ฐ์ดํ„ฐ ์ „์†ก ์ตœ์ ํ™”:** WebGL์˜ ๊ฐœ๋ณ„ ๋ฐ”์ธ๋”ฉ ๋ฐฉ์‹๊ณผ ๋‹ฌ๋ฆฌ, WebGPU๋Š” ๋ฆฌ์†Œ์Šค๋ฅผ '๋ฐ”์ธ๋“œ ๊ทธ๋ฃน(Bind Groups)' ๋‹จ์œ„๋กœ ์ผ๊ด„ ์ฒ˜๋ฆฌํ•˜์—ฌ ๋“œ๋กœ์šฐ ์ฝœ ๊ฐ„์˜ ์ƒํƒœ ์ „ํ™˜ ์˜ค๋ฒ„ํ—ค๋“œ๋ฅผ ์ตœ์†Œํ™”ํ•œ๋‹ค [14]. ๋˜ํ•œ `[[instancedArray|instancedArray]]`๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํ”„๋ ˆ์ž„ ๊ฐ„ ์œ ์ง€๋˜๋Š” GPU ๋ฒ„ํผ๋ฅผ ์ƒ์„ฑํ•จ์œผ๋กœ์จ CPU-GPU ๊ฐ„ ๋ฐ์ดํ„ฐ ์ „์†ก ๋ณ‘๋ชฉ์„ ์ œ๊ฑฐํ•˜๊ณ , ์ฝ๊ธฐ ๋ฐ ์“ฐ๊ธฐ๊ฐ€ ๋™์‹œ์— ๊ฐ€๋Šฅํ•œ ์Šคํ† ๋ฆฌ์ง€ ํ…์Šค์ฒ˜([[Storage|Storage]] Textures)๋ฅผ ์ง€์›ํ•œ๋‹ค [10, 14, 15]. * **Native WebGPU vs Three.js WebGPU:** 500MB ์ด์ƒ์˜ ๋Œ€ํ˜• ๊ฑด์„ค ๋ทฐ์–ด๋‚˜ BIM ๋ชจ๋ธ ๊ฐ™์€ ๋ฐฉ๋Œ€ํ•œ ๋ฐ์ดํ„ฐ์…‹์„ ๋‹ค๋ฃฐ ๋•Œ๋Š” Three.js์˜ ์ถ”์ƒํ™” ๊ณ„์ธต์„ ๊ฑฐ์น˜์ง€ ์•Š๋Š” Native WebGPU๊ฐ€ ํ•„์ˆ˜์ ์ผ ์ˆ˜ ์žˆ๋‹ค [16]. Native WebGPU๋Š” `[[GPURenderBundles|GPURenderBundles]]`๋ฅผ ํ†ตํ•ด 10๋งŒ ๊ฐœ ์ด์ƒ์˜ ๊ฐ์ฒด๋ฅผ ํšจ์œจ์ ์œผ๋กœ ๋‹จ์ผ ํ˜ธ์ถœ๋กœ ์žฌ์ƒํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ๊ฐ„์ ‘ ๊ทธ๋ฆฌ๊ธฐ(`drawIndexedIndirect`)๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ CPU-GPU ๋™๊ธฐํ™” ์ง€์—ฐ์„ ์™„์ „ํžˆ ์ œ๊ฑฐํ•˜๋Š” ๋“ฑ ํ›จ์”ฌ ์ •๋ฐ€ํ•œ ๋ฉ”๋ชจ๋ฆฌ ๊ด€๋ฆฌ์™€ ํŒŒ์ดํ”„๋ผ์ธ ์ œ์–ด๋ฅผ ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•œ๋‹ค [3, 17, 18]. ## โš ๏ธ ๋ชจ์ˆœ ๋ฐ ์—…๋ฐ์ดํŠธ (Contradictions & RL Update) - **๊ณผ๊ฑฐ ๋ฐ์ดํ„ฐ์™€์˜ ์ถฉ๋Œ:** ์ž๋™ํ™” ์—”์ง„์— ์˜ํ•ด ๋งคํ•‘๋œ ์ง€์‹์œผ๋กœ, ์ถ”ํ›„ ์ •๋ฐ€ ๊ฒ€์ฆ ํ•„์š”. - **์ •์ฑ… ๋ณ€ํ™”:** Graphics & Performance ๋ถ„์•ผ์˜ ์ž๋™ ์ž์‚ฐํ™” ์ˆ˜ํ–‰. ## ๐Ÿ”— ์ง€์‹ ์—ฐ๊ฒฐ (Graph) - **Related Topics:** [[WebGL|WebGL]], Compute Shaders, Three Shader Language (TSL), [[GPURenderBundles|GPURenderBundles]], [[Draw Call|Draw Call]] - **Projects/Contexts:** Three.js, Segments.ai, [[Expo 2025 Osaka|Expo 2025 Osaka]] - **Contradictions/Notes:** Three.js์˜ WebGPU ๋ Œ๋”๋Ÿฌ๋Š” ๊ฐœ๋ฐœ ์†๋„๋ฅผ ๋น„์•ฝ์ ์œผ๋กœ ๋†’์—ฌ์ฃผ๊ณ  ์‚ฌ์šฉ์ด ์‰ฝ์ง€๋งŒ, ์ˆ˜๋งŒ ๊ฐœ์˜ ๊ณ ์œ  ๊ฐ์ฒด๋ฅผ ์ฒ˜๋ฆฌํ•  ๋•Œ ๋ฐœ์ƒํ•˜๋Š” UBO(Uniform Buffer Object) ๋ฐ”์ธ๋”ฉ ์˜ค๋ฒ„ํ—ค๋“œ์™€ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ ๋ฉ”๋ชจ๋ฆฌ ์†Œ๋น„๋กœ ์ธํ•ด ์ดˆ๋Œ€๊ทœ๋ชจ ๋ฐ์ดํ„ฐ์…‹(500MB ์ด์ƒ)์—์„œ๋Š” Native WebGPU ์„ฑ๋Šฅ์— ๋ฏธ์น˜์ง€ ๋ชปํ•œ๋‹ค๋Š” ๋ฒค์น˜๋งˆํฌ ๊ฒฐ๊ณผ๊ฐ€ ์žˆ๋‹ค [18-21]. --- *Last updated: 2026-04-19* ---