--- id: P-REINFORCE-AUTO-18A5BC category: "10_Wiki/๐Ÿ’ก Topics/Graphics & Performance" confidence_score: 0.90 tags: [auto-reinforced] last_reinforced: 2026-04-20 github_commit: "[P-Reinforce] Continuous Worker - ๋ชจ๋ฐ”์ผ ๊ธฐ๋ฐ˜ WebGL ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ฐœ๋ฐœ" --- # [[แ„†แ…ฉแ„‡แ…กแ„‹แ…ตแ†ฏ แ„€แ…ตแ„‡แ…กแ†ซ WebGL แ„‹แ…ขแ„‘แ…ณแ†ฏแ„…แ…ตแ„แ…ฆแ„‹แ…ตแ„‰แ…งแ†ซ แ„€แ…ขแ„‡แ…กแ†ฏ|๋ชจ๋ฐ”์ผ ๊ธฐ๋ฐ˜ WebGL ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ฐœ๋ฐœ]] ## ๐Ÿ“Œ ํ•œ ์ค„ ํ†ต์ฐฐ (The Karpathy Summary) > ๋ชจ๋ฐ”์ผ ๊ธฐ๋ฐ˜ WebGL ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ฐœ๋ฐœ์€ ์ƒ๋Œ€์ ์œผ๋กœ ๋ถ€์กฑํ•œ ์‹œ์Šคํ…œ ๋ฉ”๋ชจ๋ฆฌ์™€ ํ”„๋กœ์„ธ์„œ ์„ฑ๋Šฅ์„ ์ง€๋‹Œ ๋ชจ๋ฐ”์ผ ๋ธŒ๋ผ์šฐ์ € ํ™˜๊ฒฝ์—์„œ ๋งค๋„๋Ÿฌ์šด 3D ๋ Œ๋”๋ง(60fps)์„ ๊ตฌํ˜„ํ•˜๊ณ  ๋ฐฐํ„ฐ๋ฆฌ ์†Œ๋ชจ๋ฅผ ์ตœ์†Œํ™”ํ•˜๋Š” ๋ฐ ์ค‘์ ์„ ๋‘๋Š” ๊ธฐ์ˆ ์  ์ ‘๊ทผ์ž…๋‹ˆ๋‹ค. ์ œํ•œ๋œ ํ•˜๋“œ์›จ์–ด ๋ฆฌ์†Œ์Šค๋ฅผ ๊ทน๋ณตํ•˜๊ธฐ ์œ„ํ•ด ์—„๊ฒฉํ•œ ํด๋ฆฌ๊ณค ์ˆ˜ ๋ฐ ๋“œ๋กœ์šฐ ์ฝœ(Draw Call) ์ œํ•œ, ํ…์Šค์ฒ˜ ๋ฉ”๋ชจ๋ฆฌ ์••์ถ•, ์…ฐ์ด๋” ์ •๋ฐ€๋„ ํ•˜ํ–ฅ, ๊ทธ๋ฆฌ๊ณ  ๋””๋ฐ”์ด์Šค ํŠน์„ฑ์„ ๊ณ ๋ คํ•œ ์ „์› ๋ฐ ์ปจํ…์ŠคํŠธ ๊ด€๋ฆฌ ๊ธฐ๋ฒ•์ด ๋ณตํ•ฉ์ ์œผ๋กœ ๋™์›๋ฉ๋‹ˆ๋‹ค. ## ๐Ÿ“– ๊ตฌ์กฐํ™”๋œ ์ง€์‹ (Synthesized Content) * **์ง€์˜ค๋ฉ”ํŠธ๋ฆฌ ๋ฐ ๋“œ๋กœ์šฐ ์ฝœ ํ•œ๊ณ„ ๊ด€๋ฆฌ** * ๋ชจ๋ฐ”์ผ ๋ธŒ๋ผ์šฐ์ €(iOS Safari, Chrome Mobile, Firefox Mobile ๋“ฑ)๋Š” ์”ฌ ๋‹น 50,000์—์„œ 100,000 ํด๋ฆฌ๊ณค์„ ์ฒ˜๋ฆฌํ•˜๋Š” ๊ฒƒ์ด ๊ฐ€์žฅ ์ ํ•ฉํ•ฉ๋‹ˆ๋‹ค [1]. * ๋“œ๋กœ์šฐ ์ฝœ์ด 1,000์—์„œ 2,000ํšŒ๋ฅผ ์ดˆ๊ณผํ•  ๊ฒฝ์šฐ ๋ชจ๋ฐ”์ผ ํ”„๋กœ์„ธ์„œ์—์„œ ๋ณ‘๋ชฉ ํ˜„์ƒ์ด ๋ฐœ์ƒํ•˜์—ฌ ์‹ฌ๊ฐํ•œ ์„ฑ๋Šฅ ์ €ํ•˜๋กœ ์ด์–ด์ง‘๋‹ˆ๋‹ค [2]. * **๋ฉ”๋ชจ๋ฆฌ ๋ฐ ํ…์Šค์ฒ˜ ์ตœ์ ํ™”** * ์‹œ์Šคํ…œ ๋ฉ”๋ชจ๋ฆฌ๊ฐ€ 2~4GB์— ๋ถˆ๊ณผํ•œ ๋ชจ๋ฐ”์ผ ๊ธฐ๊ธฐ์—์„œ๋Š” ํ…์Šค์ฒ˜ ๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ๋Ÿ‰์ด 500MB๋ฅผ ์ดˆ๊ณผํ•  ๋•Œ ๊ฐ€๋น„์ง€ ์ปฌ๋ ‰์…˜(GC)์œผ๋กœ ์ธํ•œ ์ผ์‹œ ์ •์ง€์™€ ์‹ฌ๊ฐํ•œ ํ”„๋ ˆ์ž„ ๋Š๊น€์ด ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค [3]. * ๋ชจ๋ฐ”์ผ GPU์˜ ์˜ค๋ฒ„ํ—ค๋“œ๋ฅผ ํฌ๊ฒŒ ์ค„์ด๋ ค๋ฉด ์—ฌ๋Ÿฌ ํ…์Šค์ฒ˜๋ฅผ ํ•˜๋‚˜์˜ ์•„ํ‹€๋ผ์Šค(Atlas) ํ…์Šค์ฒ˜๋กœ ๊ฒฐํ•ฉํ•˜์—ฌ ๋‹ค์ค‘ ํ…์Šค์ฒ˜ ๋ฐ”์ธ๋”ฉ์„ ํ”ผํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค [4]. * Basis Universal ํฌ๋งท์„ ์‚ฌ์šฉํ•˜๋ฉด ํ…์Šค์ฒ˜๋ฅผ ๋ชจ๋ฐ”์ผ ํ™˜๊ฒฝ์— ๋งž๋Š” GPU ์••์ถ• ํฌ๋งท(iOS์˜ PVRTC, ๋ชจ๋ฐ”์ผ์˜ ASTC ๋“ฑ)์œผ๋กœ ๋กœ๋“œ ์‹œ์ ์— ๋งž๊ฒŒ ํŠธ๋žœ์Šค์ฝ”๋”ฉํ•˜์—ฌ ๋ฉ”๋ชจ๋ฆฌ ์ ์œ ์œจ์„ ํฌ๊ฒŒ ๋‚ฎ์ถœ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค [5]. * **์…ฐ์ด๋” ๋ฐ ๋ Œ๋”๋ง ํŒŒ์ดํ”„๋ผ์ธ ํŠœ๋‹** * ๋ชจ๋ฐ”์ผ GPU๋Š” `mediump` ์ •๋ฐ€๋„๋ฅผ `highp`๋ณด๋‹ค ์•ฝ 2๋ฐฐ ๋น ๋ฅธ ์†๋„๋กœ ์ฒ˜๋ฆฌํ•˜๋ฏ€๋กœ, ๊นŠ์ด(depth) ๊ณ„์‚ฐ์ด๋‚˜ ์œ„์น˜ ์ขŒํ‘œ ๋“ฑ ๊ผญ ํ•„์š”ํ•œ ๊ฒฝ์šฐ๋ฅผ ์ œ์™ธํ•˜๊ณ ๋Š” `mediump`๋ฅผ ์‚ฌ์šฉํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค [6]. * ๋ฒ„ํ…์Šค ์…ฐ์ด๋”์™€ ํ”„๋ž˜๊ทธ๋จผํŠธ ์…ฐ์ด๋” ๊ฐ„ ๋ฐ์ดํ„ฐ๋ฅผ ์ „๋‹ฌํ•˜๋Š” varying ๋ณ€์ˆ˜๋Š” ๋ชจ๋ฐ”์ผ GPU ํ™˜๊ฒฝ์—์„œ 3๊ฐœ ์ดํ•˜๋กœ ์ตœ์†Œํ™”ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค [6]. * ํผํฌ๋จผ์Šค๋ฅผ ํ™•๋ณดํ•˜๊ธฐ ์œ„ํ•ด ๋„ค์ดํ‹ฐ๋ธŒ ๋ฉ€ํ‹ฐ์ƒ˜ํ”Œ๋ง ์•ˆํ‹ฐ์•จ๋ฆฌ์–ด์‹ฑ(MSAA)์„ ๋น„ํ™œ์„ฑํ™”ํ•˜๊ณ , ๊ทธ ๋Œ€์‹  FXAA๋ฅผ ๋งˆ์ง€๋ง‰ ํŒจ์Šค์— ์ ์šฉํ•ด์•ผ ๋ชจ๋ฐ”์ผ์—์„œ 60fps๋ฅผ ์•ˆ์ •์ ์œผ๋กœ ์œ ์ง€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค [7]. * ๊ทธ๋ฆผ์ž ๋งต(Shadow map)์˜ ํฌ๊ธฐ๋Š” ๋ชจ๋ฐ”์ผ ๊ธฐ๊ธฐ์— ๋งž๊ฒŒ 512์—์„œ 1024 ํ•ด์ƒ๋„๋กœ ์„ค์ •ํ•˜๋Š” ๊ฒƒ์ด ์ ์ ˆํ•ฉ๋‹ˆ๋‹ค [8]. * **๋ฐฐํ„ฐ๋ฆฌ ์ ˆ์•ฝ ๋ฐ ๋ชจ๋ฐ”์ผ ์˜ˆ์™ธ ์ƒํ™ฉ ์ฒ˜๋ฆฌ** * React Three Fiber ๋“ฑ์—์„œ ์ •์ ์ธ ์”ฌ์„ ๊ตฌํ˜„ํ•  ๋•Œ `frameloop="demand"` ์˜ต์…˜์„ ์„ค์ •ํ•˜์—ฌ ๋ถˆํ•„์š”ํ•œ ํ”„๋ ˆ์ž„ ๋ Œ๋”๋ง์„ ๋ฉˆ์ถค์œผ๋กœ์จ ๋ชจ๋ฐ”์ผ ๊ธฐ๊ธฐ์˜ ๋ฐฐํ„ฐ๋ฆฌ๋ฅผ ์•„๋‚„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค [9]. * ๋ชจ๋ฐ”์ผ ํ™˜๊ฒฝ์—์„œ๋Š” WebGL ์ปจํ…์ŠคํŠธ๊ฐ€ ์œ ์‹ค(context lost)๋˜๋Š” ํ˜„์ƒ์ด ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ, ํ•ด๋‹น ์ด๋ฒคํŠธ๋ฅผ ์ˆ˜์‹ ํ•˜์—ฌ ์ž์—ฐ์Šค๋Ÿฝ๊ฒŒ ๋ณต๊ตฌ๋˜๋„๋ก ์ฒ˜๋ฆฌํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค [10]. ## โš ๏ธ ๋ชจ์ˆœ ๋ฐ ์—…๋ฐ์ดํŠธ (Contradictions & RL Update) - **๊ณผ๊ฑฐ ๋ฐ์ดํ„ฐ์™€์˜ ์ถฉ๋Œ:** ์ž๋™ํ™” ์—”์ง„์— ์˜ํ•ด ๋งคํ•‘๋œ ์ง€์‹์œผ๋กœ, ์ถ”ํ›„ ์ •๋ฐ€ ๊ฒ€์ฆ ํ•„์š”. - **์ •์ฑ… ๋ณ€ํ™”:** Graphics & Performance ๋ถ„์•ผ์˜ ์ž๋™ ์ž์‚ฐํ™” ์ˆ˜ํ–‰. ## ๐Ÿ”— ์ง€์‹ ์—ฐ๊ฒฐ (Graph) - **Related Topics:** ๋“œ๋กœ์šฐ ์ฝœ ์ตœ์ ํ™”(Draw Call Optimization), ํ…์Šค์ฒ˜ ์••์ถ• ๋ฐ ์•„ํ‹€๋ผ์Šค(Texture Compression & Atlas), ์…ฐ์ด๋” ์ •๋ฐ€๋„ ์ตœ์ ํ™”(Shader Precision Optimization), ๊ฐ€๋น„์ง€ ์ปฌ๋ ‰์…˜ ๊ด€๋ฆฌ(Garbage Collection Management) - **Projects/Contexts:** Three.js WebGL ๋ Œ๋”๋ง, ๋ชจ๋ฐ”์ผ ํ™˜๊ฒฝ์˜ ๋ฉ”๋ชจ๋ฆฌ ๋ณ‘๋ชฉ - **Contradictions/Notes:** ๋ผˆ๋Œ€ ํ…์Šค์ฒ˜์˜ ๋ถ€๋ถ„ ์—…๋ฐ์ดํŠธ(partial texture updates)์™€ ๊ฐ™์€ ํŠน์ • ์„ธ๋ถ€ ๋ Œ๋”๋ง ์ตœ์ ํ™” ๊ธฐ๋ฒ•์€ ์ผ๋ถ€ ๋ชจ๋ฐ”์ผ ๊ธฐ๊ธฐ์™€ Firefox ๋ธŒ๋ผ์šฐ์ € ํ™˜๊ฒฝ์—์„œ๋Š” ์˜คํžˆ๋ ค ์†๋„๋ฅผ ๋А๋ฆฌ๊ฒŒ ๋งŒ๋“œ๋Š” ๋ถ€์ž‘์šฉ(์—ญํšจ๊ณผ)์ด ๋ณด๊ณ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค [11, 12]. --- *Last updated: 2026-04-19* - Raw Source: 00_Raw/2026-04-20/๋ชจ๋ฐ”์ผ ๊ธฐ๋ฐ˜ WebGL ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ฐœ๋ฐœ.md ---