--- id: P-REINFORCE-AUTO-421E43 category: "10_Wiki/๐Ÿ’ก Topics/Programming & Language" confidence_score: 0.90 tags: [auto-reinforced] last_reinforced: 2026-04-20 github_commit: "[P-Reinforce] Continuous Worker - Overdraw" --- # [[Overdraw|Overdraw]] ## ๐Ÿ“Œ ํ•œ ์ค„ ํ†ต์ฐฐ (The Karpathy Summary) > ์˜ค๋ฒ„๋“œ๋กœ์šฐ(Overdraw)๋Š” ๋ Œ๋”๋ง ํŒŒ์ดํ”„๋ผ์ธ์˜ ํ”„๋ž˜๊ทธ๋จผํŠธ ์…ฐ์ด๋”ฉ(Fragment Shading) ๋‹จ๊ณ„์—์„œ ๋™์ผํ•œ ํ”ฝ์…€ ์œ„์น˜์— ๋ Œ๋”๋ง ์—ฐ์‚ฐ ๋ฐ ์“ฐ๊ธฐ ์ž‘์—…์ด ์—ฌ๋Ÿฌ ๋ฒˆ ์ค‘์ฒฉ๋˜์–ด GPU ์ž์›์ด ๋‚ญ๋น„๋˜๋Š” ํ˜„์ƒ์ž…๋‹ˆ๋‹ค. InstancedMesh๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ ๊ฐœ๋ณ„ ์ธ์Šคํ„ด์Šค์— ๋Œ€ํ•œ ์ž๋™ ์ •๋ ฌ(Sorting) ๊ธฐ๋Šฅ์ด ๋ถ€์žฌํ•˜์—ฌ ๊นŠ์ด ํ…Œ์ŠคํŠธ(Early-Z)๋ฅผ ํ†ตํ•œ ์ตœ์ ํ™”๊ฐ€ ๋ฌด๋ ฅํ™”๋˜๋ฉด์„œ ๋ง‰๋Œ€ํ•œ ์˜ค๋ฒ„๋“œ๋กœ์šฐ๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์ด๋Š” ์‹ฌ๊ฐํ•œ ๋ Œ๋”๋ง ํ”„๋ ˆ์ž„ ์ง€์—ฐ์˜ ํ•ต์‹ฌ ์›์ธ์ด ๋ฉ๋‹ˆ๋‹ค[1, 2]. ## ๐Ÿ“– ๊ตฌ์กฐํ™”๋œ ์ง€์‹ (Synthesized Content) * **์˜ค๋ฒ„๋“œ๋กœ์šฐ์˜ ๋ฐœ์ƒ ์›๋ฆฌ:** ํˆฌ๋ช…ํ•œ ์ง€์˜ค๋ฉ”ํŠธ๋ฆฌ๊ฐ€ ๊ฒน์ณ ์žˆ๊ฑฐ๋‚˜ ๊ฐ์ฒด๋“ค์ด ๋น„ํšจ์œจ์ ์œผ๋กœ ์ •๋ ฌ๋˜์–ด ์žˆ์„ ๋•Œ, ๊ฐ€๋ ค์ ธ์„œ ์ตœ์ข… ํ™”๋ฉด์— ๋ณด์ด์ง€ ์•Š์„ ํ”ฝ์…€์— ๋Œ€ํ•ด์„œ๊นŒ์ง€ GPU๊ฐ€ ๊ณ„์‚ฐ์„ ์ˆ˜ํ–‰ํ•˜๋ฉด์„œ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค[1]. * **InstancedMesh์˜ ๊ตฌ์กฐ์  ์ •๋ ฌ ๋ถ€์žฌ:** ์ผ๋ฐ˜์ ์ธ ๋ถˆํˆฌ๋ช… ๊ฐ์ฒด๋Š” '์•ž์—์„œ ๋’ค๋กœ(Front-to-Back)' ์ •๋ ฌํ•˜์—ฌ ๋ Œ๋”๋งํ•จ์œผ๋กœ์จ ๋’ค์— ๊ฐ€๋ ค์ง„ ํ”ฝ์…€ ์—ฐ์‚ฐ์„ ์กฐ๊ธฐ์— ์ข…๋ฃŒํ•˜๋Š” 'Early-Z' ๊ธฐ๋ฒ•์„ ํ™œ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ InstancedMesh๋Š” ์ด๋Ÿฌํ•œ ์ž๋™ ์ •๋ ฌ ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•˜์ง€ ์•Š์œผ๋ฉฐ, ์˜ค์ง ๋ฒ„ํผ์— ์ €์žฅ๋œ ์ˆœ์„œ๋Œ€๋กœ๋งŒ ์ธ์Šคํ„ด์Šค๋ฅผ ๋ Œ๋”๋งํ•ฉ๋‹ˆ๋‹ค. ์นด๋ฉ”๋ผ์™€ ๋ฉ€๋ฆฌ ์žˆ๋Š” ์ธ์Šคํ„ด์Šค๊ฐ€ ๋จผ์ € ๊ทธ๋ ค์ง€๊ณ  ๊ฐ€๊นŒ์šด ์ธ์Šคํ„ด์Šค๊ฐ€ ๋‚˜์ค‘์— ๊ทธ๋ ค์งˆ ๊ฒฝ์šฐ, GPU๋Š” ๋™์ผํ•œ ํ”ฝ์…€ ์˜์—ญ์— ๋Œ€ํ•ด ์ค‘๋ณต๋œ ๊ณ„์‚ฐ์„ ๊ฐ•์ œ๋กœ ์ˆ˜ํ–‰ํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค[2]. * **๋“œ๋กœ์šฐ ์ฝœ ์ตœ์ ํ™”์˜ ์—ญ์„ค (์„ฑ๋Šฅ ์ €ํ•˜ ์‚ฌ๋ก€):** ์‹ค์ œ ๋ฒค์น˜๋งˆํฌ ์‚ฌ๋ก€ ์—ฐ๊ตฌ์— ๋”ฐ๋ฅด๋ฉด, 5,000๊ฐœ์˜ ๊ตฌ์ฒด๋ฅผ ๋ Œ๋”๋งํ•  ๋•Œ ๋“œ๋กœ์šฐ ์ฝœ์ด 1ํšŒ์ธ InstancedMesh ๋ฐฉ์‹์˜ FPS๊ฐ€ ๋“œ๋กœ์šฐ ์ฝœ์ด 5,000ํšŒ์ธ ์ผ๋ฐ˜ ๊ฐœ๋ณ„ ๋ฉ”์‰ฌ ๋ฐฉ์‹๋ณด๋‹ค ์˜คํžˆ๋ ค ๋” ๋‚ฎ๊ฒŒ ์ธก์ •๋˜๋Š” ํ˜„์ƒ์ด ๋ณด๊ณ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ด๋Š” ๋“œ๋กœ์šฐ ์ฝœ ๊ฐ์†Œ๋ฅผ ํ†ตํ•ด ์–ป์€ CPU ์—ฐ์‚ฐ ์ด๋“๋ณด๋‹ค, ์ •๋ ฌ๋˜์ง€ ์•Š์€ ์ธ์Šคํ„ด์Šค๋“ค์ด ์œ ๋ฐœํ•œ ๋ง‰๋Œ€ํ•œ ์˜ค๋ฒ„๋“œ๋กœ์šฐ ๋น„์šฉ์ด GPU์˜ ํ”ฝ์…€ ์ฒ˜๋ฆฌ ์„ฑ๋Šฅ ํ•œ๊ณ„๋ฅผ ์ƒํšŒํ–ˆ๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค[2]. * **๋ณ‘๋ชฉ์„ ๊ฐ€์ค‘์‹œํ‚ค๋Š” ์š”์ธ:** ์˜ค๋ฒ„๋“œ๋กœ์šฐ๋กœ ์ธํ•œ ๋ Œ๋”๋ง ๋ณ‘๋ชฉ ํ˜„์ƒ์€ ๋ณต์žกํ•œ ์กฐ๋ช… ์—ฐ์‚ฐ์ด ํฌํ•จ๋œ `MeshStandardMaterial`๊ณผ ๊ฐ™์€ ์žฌ์งˆ์„ ์‚ฌ์šฉํ•  ๋•Œ ์”ฌ(Scene)์„ ํ”„๋ž˜๊ทธ๋จผํŠธ ๋ฐ”์šด๋“œ(Fragment-bound) ์ƒํƒœ๋กœ ๋น ๋œจ๋ฆฌ๋ฉฐ ๋”์šฑ ์‹ฌํ™”๋ฉ๋‹ˆ๋‹ค[2, 3]. ๋˜ํ•œ ๋‚˜๋ญ‡์žŽ(Foliage)์ฒ˜๋Ÿผ ํˆฌ๋ช…๋„(Transparency)๋ฅผ ์ง€๋‹Œ ์ง€์˜ค๋ฉ”ํŠธ๋ฆฌ์˜ ๊ฒฝ์šฐ, ์กฐ๊ธฐ ๊นŠ์ด ํ…Œ์ŠคํŠธ๊ฐ€ ๋น„ํ™œ์„ฑํ™”๋˜๊ณ  ๋™์ผํ•œ ํ”ฝ์…€์„ 5~10๋ฒˆ์”ฉ ๋ฐ˜๋ณตํ•˜์—ฌ ๋ Œ๋”๋งํ•ด์•ผ ํ•˜๋ฏ€๋กœ ํ”ฝ์…€ ์ฑ„์šฐ๊ธฐ ๋น„์œจ(Fill rate)์ด ๊ธ‰๊ฐํ•˜๋Š” ์น˜๋ช…์ ์ธ ์›์ธ์ด ๋ฉ๋‹ˆ๋‹ค[1, 4]. ## โš ๏ธ ๋ชจ์ˆœ ๋ฐ ์—…๋ฐ์ดํŠธ (Contradictions & RL Update) - **๊ณผ๊ฑฐ ๋ฐ์ดํ„ฐ์™€์˜ ์ถฉ๋Œ:** ์ž๋™ํ™” ์—”์ง„์— ์˜ํ•ด ๋งคํ•‘๋œ ์ง€์‹์œผ๋กœ, ์ถ”ํ›„ ์ •๋ฐ€ ๊ฒ€์ฆ ํ•„์š”. - **์ •์ฑ… ๋ณ€ํ™”:** Programming & Language ๋ถ„์•ผ์˜ ์ž๋™ ์ž์‚ฐํ™” ์ˆ˜ํ–‰. ## ๐Ÿ”— ์ง€์‹ ์—ฐ๊ฒฐ (Graph) - **Related Topics:** [[InstancedMesh|InstancedMesh]], [[Fragment Shading|Fragment Shading]], [[Early-Z|Early-Z]], [[แ„‘แ…ณแ„…แ…ขแ„€แ…ณแ„†แ…ฅแ†ซแ„แ…ณ แ„‡แ…กแ„‹แ…ฎแ†ซแ„ƒแ…ณ(Fragment-bound)|ํ”„๋ž˜๊ทธ๋จผํŠธ ๋ฐ”์šด๋“œ(Fragment-bound)]], [[Draw Call|Draw Call]], [[Sorting|Sorting]] - **Projects/Contexts:** [[threejs Issue _30352|three.js Issue]], [[แ„ƒแ…ขแ„€แ…ฒแ„†แ…ฉ แ„‹แ…ตแ†ซแ„‰แ…ณแ„แ…ฅแ†ซแ„‰แ…ณ แ„…แ…ฆแ†ซแ„ƒแ…ฅแ„…แ…ตแ†ผ แ„†แ…ตแ†พ แ„แ…ฎแ„†แ…งแ†ผแ„ƒแ…ฉ แ„Žแ…ฅแ„…แ…ต|๋Œ€๊ทœ๋ชจ ์ธ์Šคํ„ด์Šค ๋ Œ๋”๋ง ๋ฐ ํˆฌ๋ช…๋„ ์ฒ˜๋ฆฌ]] - **Contradictions/Notes:** CPU ๋ถ€ํ•˜๋ฅผ ์œ ๋ฐœํ•˜๋Š” ๋“œ๋กœ์šฐ ์ฝœ์„ ์ค„์ด๊ธฐ ์œ„ํ•ด InstancedMesh๋ฅผ ๋„์ž…ํ•˜๋”๋ผ๋„, ๋‚ด๋ถ€ ์ธ์Šคํ„ด์Šค๋“ค์˜ ์ •๋ ฌ ๋ถ€์žฌ๊ฐ€ ์œ ๋ฐœํ•˜๋Š” ์˜ค๋ฒ„๋“œ๋กœ์šฐ ๋น„์šฉ์ด ๋” ํฌ๋‹ค๋ฉด ์˜คํžˆ๋ ค ๋“œ๋กœ์šฐ ์ฝœ์ด ๋งŽ์€ ๊ฐœ๋ณ„ ๋ฉ”์‰ฌ ๋ Œ๋”๋ง ๋ฐฉ์‹๋ณด๋‹ค FPS๊ฐ€ ๋–จ์–ด์งˆ ์ˆ˜ ์žˆ๋‹ค๋Š” ์—ญ์„ค์ ์ธ ๊ฒฐ๊ณผ๋ฅผ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค[2, 5]. --- *Last updated: 2026-04-19* - Raw Source: 00_Raw/2026-04-20/Overdraw.md ---