--- id: P-REINFORCE-AUTO-7B4FF5 category: "10_Wiki/๐Ÿ’ก Topics/Graphics & Performance" confidence_score: 0.90 tags: [auto-reinforced] last_reinforced: 2026-04-20 github_commit: "[P-Reinforce] Continuous Worker - ์›น ๋ธŒ๋ผ์šฐ์ € ๊ทธ๋ž˜ํ”ฝ API ํ˜ธํ™˜์„ฑ" --- # [[แ„‹แ…ฐแ†ธ แ„‡แ…ณแ„…แ…กแ„‹แ…ฎแ„Œแ…ฅ แ„€แ…ณแ„…แ…ขแ„‘แ…ตแ†จ API แ„’แ…ฉแ„’แ…ชแ†ซแ„‰แ…ฅแ†ผ|์›น ๋ธŒ๋ผ์šฐ์ € ๊ทธ๋ž˜ํ”ฝ API ํ˜ธํ™˜์„ฑ]] ## ๐Ÿ“Œ ํ•œ ์ค„ ํ†ต์ฐฐ (The Karpathy Summary) > ์›น ๋ธŒ๋ผ์šฐ์ € ๊ทธ๋ž˜ํ”ฝ API ํ˜ธํ™˜์„ฑ์€ WebGL ๋ฐ WebGPU์™€ ๊ฐ™์€ ์›น ๊ธฐ๋ฐ˜ 3D ๊ทธ๋ž˜ํ”ฝ ๊ธฐ์ˆ ์ด ๋‹ค์–‘ํ•œ ์›น ๋ธŒ๋ผ์šฐ์ €, ์šด์˜ ์ฒด์ œ, ํ•˜๋“œ์›จ์–ด ํ™˜๊ฒฝ์—์„œ ์ผ๊ด€๋˜๊ฒŒ ์ž‘๋™ํ•˜๊ณ  ์ตœ์ ํ™”๋˜๋Š” ์ •๋„๋ฅผ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค [1-3]. WebGL์€ ํญ๋„“๊ฒŒ ์ง€์›๋˜์ง€๋งŒ OS๋ณ„ ๊ทธ๋ž˜ํ”ฝ ๊ณ„์ธต ๋ณ€ํ™˜ ์˜ค๋ฒ„ํ—ค๋“œ์™€ ๋ธŒ๋ผ์šฐ์ € ๋ณด์•ˆ ์ œ์•ฝ์˜ ์˜ํ–ฅ์„ ํฌ๊ฒŒ ๋ฐ›์œผ๋ฉฐ, ์ฐจ์„ธ๋Œ€ ํ‘œ์ค€์ธ WebGPU๋Š” ์ตœ์‹  ํ•˜๋“œ์›จ์–ด ๊ธฐ์ˆ ์„ ํ™œ์šฉํ•˜๋‚˜ ๋ธŒ๋ผ์šฐ์ €๋ณ„ ํŒŒํŽธํ™”๊ฐ€ ์กด์žฌํ•˜๊ณ  WebGL๊ณผ ํ•˜์œ„ ํ˜ธํ™˜๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค [4-6]. ๋”ฐ๋ผ์„œ ์„ฑ๋Šฅ ์ตœ์ ํ™”๋ฅผ ์œ„ํ•ด์„œ๋Š” ๋Œ€์ƒ ํ•˜๋“œ์›จ์–ด ์•„ํ‚คํ…์ฒ˜์™€ ๋ธŒ๋ผ์šฐ์ €๋ณ„ API ์ง€์› ๋ฒ”์œ„๋ฅผ ๊ณ ๋ คํ•œ ํ”Œ๋žซํผ ๊ต์ฐจ์  ์„ค๊ณ„๊ฐ€ ํ•„์ˆ˜์ ์ž…๋‹ˆ๋‹ค [7, 8]. ## ๐Ÿ“– ๊ตฌ์กฐํ™”๋œ ์ง€์‹ (Synthesized Content) - **ํ”Œ๋žซํผ๋ณ„ WebGL ๊ตฌํ˜„ ์ฐจ์ด ๋ฐ ์˜ค๋ฒ„ํ—ค๋“œ:** WebGL์€ OpenGL ES 2.0์„ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•˜๋Š” ํฌ๋กœ์Šค ํ”Œ๋žซํผ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์ด์ง€๋งŒ ์šด์˜ ์ฒด์ œ๋งˆ๋‹ค ๊ตฌํ˜„ ๋ฉ”์ปค๋‹ˆ์ฆ˜์ด ๋‹ค๋ฆ…๋‹ˆ๋‹ค [1]. ์˜ˆ๋ฅผ ๋“ค์–ด Windows ํ™˜๊ฒฝ์—์„œ Chrome, Firefox, Opera๋Š” ANGLE(Almost Native Graphics Layer Engine) ๊ณ„์ธต์„ ์‚ฌ์šฉํ•˜์—ฌ WebGL ํ˜ธ์ถœ์„ Direct3D 11 ๋˜๋Š” 12๋กœ ๋ณ€ํ™˜ํ•˜๋Š”๋ฐ, ์ด ๊ณผ์ •์—์„œ ๋“œ๋กœ์ฝœ(Draw call)๋‹น ๋งˆ์ดํฌ๋กœ ์ง€์—ฐ(Micro-latency)์ด ๋ฐœ์ƒํ•˜์—ฌ CPU ๋ณ‘๋ชฉ ํ˜„์ƒ์„ ์œ ๋ฐœํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค [4, 9, 10]. ๋ฐ˜๋ฉด Safari(macOS ๋ฐ iOS)์—์„œ๋Š” `bufferSubData()`์™€ ๊ฐ™์€ ํŠน์ • WebGL ํ˜ธ์ถœ์—์„œ ๋น„์ง๊ด€์ ์œผ๋กœ ํฐ ์˜ค๋ฒ„ํ—ค๋“œ๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค [11, 12]. ๋“€์–ผ GPU๋ฅผ ์‚ฌ์šฉํ•˜๋Š” Mac์˜ ๊ฒฝ์šฐ, WebGL ์ปจํ…์ŠคํŠธ๊ฐ€ ์ˆ˜๋ช… ์ฃผ๊ธฐ ๋™์•ˆ GPU๋ฅผ ์ „ํ™˜ํ•˜๋Š” ๊ฒƒ์ด ๊ณต์‹์ ์ธ ๋ณด์•ˆ ๋ฌธ์ œ๋กœ ์ทจ๊ธ‰๋˜์–ด ์™ธ์žฅ GPU ๋ชจ๋“œ๋กœ ๊ฐ•์ œ ์ „ํ™˜ํ•ด์•ผ ํ•˜๋ฏ€๋กœ ์•ฝ 1์ดˆ์˜ ์ปจํ…์ŠคํŠธ ์ƒ์„ฑ ์ง€์—ฐ์ด ๋ฐœ์ƒํ•˜๊ธฐ๋„ ํ•ฉ๋‹ˆ๋‹ค [13]. - **๋ณด์•ˆ ์ •์ฑ…์— ๋”ฐ๋ฅธ ํƒ€์ด๋จธ ๋ฐ ํ™•์žฅ ๊ธฐ๋Šฅ ํ˜ธํ™˜์„ฑ:** ๋ธŒ๋ผ์šฐ์ € ํ™˜๊ฒฝ์—์„œ๋Š” ์•…์„ฑ ์›น์‚ฌ์ดํŠธ๋กœ๋ถ€ํ„ฐ์˜ ๋ณดํ˜ธ๋ฅผ ์œ„ํ•ด ๋ชจ๋“  ๊ทธ๋ž˜ํ”ฝ API ํ˜ธ์ถœ์— ๋Œ€ํ•œ ์•ˆ์ „์„ฑ ๊ฒ€์‚ฌ(Marshalling)๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค [14]. ํŠนํžˆ Spectre, Meltdown, Rowhammer ๊ฐ™์€ ํƒ€์ด๋ฐ ๊ธฐ๋ฐ˜์˜ ์‚ฌ์ด๋“œ ์ฑ„๋„ ๊ณต๊ฒฉ์„ ๋ฐฉ์ง€ํ•˜๊ธฐ ์œ„ํ•ด ์—ฌ๋Ÿฌ ๋ธŒ๋ผ์šฐ์ € ๋ฒค๋”๋Š” `EXT_disjoint_timer_query`์™€ ๊ฐ™์€ ๊ณ ์ •๋ฐ€ GPU ํƒ€์ด๋จธ ์ฟผ๋ฆฌ ๊ธฐ๋Šฅ์˜ ์ง€์›์„ ์ค‘๋‹จํ•˜๊ฑฐ๋‚˜ ๋น„ํ™œ์„ฑํ™”ํ–ˆ์Šต๋‹ˆ๋‹ค [15-20]. ์ดํ›„ WebGPU ํ™˜๊ฒฝ์—์„œ๋„ ๋™์ผํ•œ ๋ณด์•ˆ ์šฐ๋ ค๋กœ ์ธํ•ด ๊ต์ฐจ ์ถœ์ฒ˜ ๊ฒฉ๋ฆฌ(Cross-origin isolated) ์ƒํƒœ์ธ ์ปจํ…์ŠคํŠธ์—์„œ๋งŒ ํƒ€์ž„์Šคํƒฌํ”„ ์ฟผ๋ฆฌ ์ •๋ฐ€๋„๋ฅผ 100 ๋งˆ์ดํฌ๋กœ์ดˆ(ยตs)๋กœ ์ œํ•œ(Quantization)ํ•˜์—ฌ ๋…ธ์ถœํ•˜๋„๋ก ํ˜ธํ™˜์„ฑ ํ‘œ์ค€์„ ์กฐ์œจํ–ˆ์Šต๋‹ˆ๋‹ค [21-23]. - **WebGPU์˜ ๋ธŒ๋ผ์šฐ์ € ์ง€์› ํŒŒํŽธํ™” ๋ฐ ๋น„ํ˜ธํ™˜์„ฑ:** ์ฐจ์„ธ๋Œ€ API์ธ WebGPU๋Š” Vulkan, Metal, Direct3D 12 ๋“ฑ์˜ ๋„ค์ดํ‹ฐ๋ธŒ GPU API๋ฅผ ๊ณตํ†ต๋œ ๊ตฌ์กฐ๋กœ ๋ธŒ๋ผ์šฐ์ €์— ์ œ๊ณตํ•˜์ง€๋งŒ, ๊ธฐ์กด WebGL๊ณผ๋Š” ํ•˜์œ„ ํ˜ธํ™˜์„ฑ์„ ์ „ํ˜€ ์ง€์›ํ•˜์ง€ ์•Š์•„ ํ”„๋ ˆ์ž„์›Œํฌ ์‚ฌ์šฉ์ž๋“ค์—๊ฒŒ "์—…๊ทธ๋ ˆ์ด๋“œ ์ถฉ๊ฒฉ"์„ ์œ ๋ฐœํ•ฉ๋‹ˆ๋‹ค [5, 6, 24]. 2025๋…„ ๋ฐ 2026๋…„ ๊ธฐ์ค€, Chrome๊ณผ Edge๋Š” ๋ฐ์Šคํฌํ†ฑ์—์„œ ์•ˆ์ •์ ์œผ๋กœ ์ง€์›๋˜๋Š” ๋ฐ˜๋ฉด, Safari๋Š” macOS 26 ๋ฐ iOS 26๋ถ€ํ„ฐ ๊ธฐ๋ณธ ์ง€์›์ด ๋„์ž…๋˜์—ˆ๊ณ , Firefox๋Š” Windows(๋ฒ„์ „ 141) ๋“ฑ ํŠน์ • ํ”Œ๋žซํผ์—์„œ๋งŒ ์ž‘๋™ํ•˜๊ฑฐ๋‚˜ ๋ถˆ์•ˆ์ •ํ•œ ์˜ค๋ฅ˜๊ฐ€ ๋ณด๊ณ ๋˜๋Š” ๋“ฑ ๋ธŒ๋ผ์šฐ์ €์™€ ๋ชจ๋ฐ”์ผ OS๋ณ„ ์ง€์› ์ˆ˜์ค€์— ์•„์ง ํฐ ์ฐจ์ด๊ฐ€ ์กด์žฌํ•ฉ๋‹ˆ๋‹ค [3, 25, 26]. - **ํฌ๋กœ์Šค ํ”Œ๋žซํผ ํ•˜๋“œ์›จ์–ด ์Šค์ผ€์ค„๋ง์˜ ์ œ์•ฝ:** WebGPU๋Š” ๋ฒ”์šฉ ์ปดํ“จํŒ…(Compute Shaders)์„ ์›น์— ๋„์ž…ํ–ˆ์œผ๋‚˜, ํฌ๋กœ์Šค ํ”Œ๋žซํผ ํ˜ธํ™˜์„ฑ ์œ ์ง€๋ฅผ ์œ„ํ•ด ํŠน์ • ํ•˜๋“œ์›จ์–ด ์Šค์ผ€์ค„๋ง ์ˆœ์„œ๋‚˜ ์„ธ๋ฐ€ํ•œ ์ „์—ญ ์›์ž์„ฑ(Global atomics)์„ ๋ณด์žฅํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค [7, 27]. ๋”ฐ๋ผ์„œ CUDA ๋“ฑ ๊ธฐ์กด ๋„ค์ดํ‹ฐ๋ธŒ ํ™˜๊ฒฝ์—์„œ ์‚ฌ์šฉ๋˜๋˜ ๋™๊ธฐํ™” ๋ฐฉ์‹(์˜ˆ: ์ž‘์—… ๊ทธ๋ฃน ๊ฐ„ Spin-wait)์„ WebGPU์— ๊ทธ๋Œ€๋กœ ์ด์‹ํ•  ๊ฒฝ์šฐ, Apple M1๊ณผ ๊ฐ™์€ ํŠน์ • ์นฉ์…‹ ํ™˜๊ฒฝ์—์„œ ๋ฌดํ•œ ๋Œ€๊ธฐ(Busy-wait)๋ฅผ ์œ ๋ฐœํ•˜์—ฌ ์‹ฌ๊ฐํ•œ ์„ฑ๋Šฅ ์ €ํ•˜๋‚˜ ์‹คํ–‰ ์‹คํŒจ๋ฅผ ์ผ์œผํ‚ฌ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค [7, 28]. ## โš ๏ธ ๋ชจ์ˆœ ๋ฐ ์—…๋ฐ์ดํŠธ (Contradictions & RL Update) - **๊ณผ๊ฑฐ ๋ฐ์ดํ„ฐ์™€์˜ ์ถฉ๋Œ:** ์ž๋™ํ™” ์—”์ง„์— ์˜ํ•ด ๋งคํ•‘๋œ ์ง€์‹์œผ๋กœ, ์ถ”ํ›„ ์ •๋ฐ€ ๊ฒ€์ฆ ํ•„์š”. - **์ •์ฑ… ๋ณ€ํ™”:** Graphics & Performance ๋ถ„์•ผ์˜ ์ž๋™ ์ž์‚ฐํ™” ์ˆ˜ํ–‰. ## ๐Ÿ”— ์ง€์‹ ์—ฐ๊ฒฐ (Graph) - **Related Topics:** [[WebGL|WebGL]], [[WebGPU|WebGPU]], [[ANGLE|ANGLE]], Spectre ๋ฐ Meltdown, ํƒ€์ด๋จธ ์ฟผ๋ฆฌ ์ œํ•œ(Timer Query Quantization) - **Projects/Contexts:** 3D Gaussian Splatting(3DGS) ์›น ๋ Œ๋”๋ง, ํฌ๋กœ์Šค ํ”Œ๋žซํผ ์„ฑ๋Šฅ ํ”„๋กœํŒŒ์ผ๋ง - **Contradictions/Notes:** WebGL์˜ `EXT_disjoint_timer_query` ํ™•์žฅ ๊ธฐ๋Šฅ์— ๋Œ€ํ•ด `caniuse.com`์˜ ์ง€์› ์ •๋ณด๋‚˜ ์ผ๋ถ€ ๋ฌธ์„œ๊ฐ€ ์ตœ์‹  ํ˜ธํ™˜์„ฑ ์ƒํƒœ(๋ณด์•ˆ ๋ฌธ์ œ๋กœ ์ธํ•œ ๋ธŒ๋ผ์šฐ์ €๋ณ„ ๋น„ํ™œ์„ฑํ™” ์กฐ์น˜ ๋“ฑ)๋ฅผ ์ •ํ™•ํžˆ ๋ฐ˜์˜ํ•˜์ง€ ๋ชปํ•˜๊ณ  ์ƒ์ถฉ๋˜๋Š” ์ •๋ณด๋ฅผ ์ œ๊ณตํ–ˆ๋˜ ํ˜ผ์„ ์ด ์กด์žฌํ–ˆ์Šต๋‹ˆ๋‹ค [17, 29]. ๋˜ํ•œ, WebGPU๋Š” ๊ทธ๋ž˜ํ”ฝ ์„ฑ๋Šฅ๊ณผ ๋ฆฌ์†Œ์Šค ์ œ์–ด๊ถŒ์„ ํฌ๊ฒŒ ํ–ฅ์ƒ์‹œํ‚ค์ง€๋งŒ WebGL๊ณผ ํ•˜์œ„ ํ˜ธํ™˜๋˜์ง€ ์•Š์œผ๋ฏ€๋กœ, ๋ณดํŽธ์  ์ ‘๊ทผ์„ฑ์ด ํ•„์š”ํ•œ ํ”„๋กœ์ ํŠธ์˜ ๊ฒฝ์šฐ WebGPU ์ง€์›์ด ๋Œ€์ค‘ํ™”๋˜๊ธฐ ์ „๊นŒ์ง€ WebGL ๊ธฐ๋ฐ˜์˜ ํด๋ฐฑ(Fallback) ๋ Œ๋”๋ง ํ™˜๊ฒฝ์„ ์œ ์ง€ํ•ด์•ผ๋งŒ ํ•˜๋Š” ์ œ์•ฝ์ด ์žˆ์Šต๋‹ˆ๋‹ค [6, 25, 30]. --- *Last updated: 2026-04-19* - Raw Source: 00_Raw/2026-04-20/์›น ๋ธŒ๋ผ์šฐ์ € ๊ทธ๋ž˜ํ”ฝ API ํ˜ธํ™˜์„ฑ.md ---