--- id: P-REINFORCE-AUTO-8CAEFF 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-bound)" --- # [[แ„‘แ…ณแ„…แ…ขแ„€แ…ณแ„†แ…ฅแ†ซแ„แ…ณ แ„‡แ…กแ„‹แ…ฎแ†ซแ„ƒแ…ณ(Fragment-bound)|ํ”„๋ž˜๊ทธ๋จผํŠธ ๋ฐ”์šด๋“œ(Fragment-bound)]] ## ๐Ÿ“Œ ํ•œ ์ค„ ํ†ต์ฐฐ (The Karpathy Summary) > ํ”„๋ž˜๊ทธ๋จผํŠธ ๋ฐ”์šด๋“œ(Fragment-bound)๋Š” 3D ๋ Œ๋”๋ง ํŒŒ์ดํ”„๋ผ์ธ์—์„œ GPU์˜ ํ”„๋ž˜๊ทธ๋จผํŠธ(ํ”ฝ์…€) ์—ฐ์‚ฐ ๋ถ€ํ•˜๊ฐ€ ๊ทน์‹ฌํ•ด์ ธ ์ „์ฒด ๋ Œ๋”๋ง ์„ฑ๋Šฅ๊ณผ ํ”„๋ ˆ์ž„ ๋ ˆ์ดํŠธ(FPS)๋ฅผ ์ œํ•œํ•˜๋Š” ๋ณ‘๋ชฉ ์ƒํƒœ๋ฅผ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. ์ฃผ๋กœ ํ™”๋ฉด์— ๊ทธ๋ ค์ง€๋Š” ๊ฐ์ฒด๋“ค์ด ๋ Œ๋”๋ง ์ˆœ์„œ๋Œ€๋กœ ์ •๋ ฌ๋˜์ง€ ์•Š์•„ ๋™์ผํ•œ ํ”ฝ์…€ ์œ„์น˜์— ๋ Œ๋”๋ง ๊ณ„์‚ฐ์ด ์—ฌ๋Ÿฌ ๋ฒˆ ์ค‘์ฒฉ๋˜๋Š” ์˜ค๋ฒ„๋“œ๋กœ์šฐ(Overdraw) ํ˜„์ƒ์œผ๋กœ ์ธํ•ด ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. ๋ฌด๊ฑฐ์šด ์กฐ๋ช… ์—ฐ์‚ฐ์ด ํฌํ•จ๋œ ์žฌ์งˆ์„ ์‚ฌ์šฉํ•  ๋•Œ ์ด ์ƒํƒœ์— ๋”์šฑ ์‰ฝ๊ฒŒ ๋น ์ง€๊ฒŒ ๋ฉ๋‹ˆ๋‹ค [1, 2]. ## ๐Ÿ“– ๊ตฌ์กฐํ™”๋œ ์ง€์‹ (Synthesized Content) - **๋ฐœ์ƒ ์›์ธ๊ณผ ์˜ค๋ฒ„๋“œ๋กœ์šฐ(Overdraw):** ํ”„๋ž˜๊ทธ๋จผํŠธ ๋ฐ”์šด๋“œ ์ƒํƒœ๋Š” ๋ Œ๋”๋ง ํŒŒ์ดํ”„๋ผ์ธ์˜ ํ›„๋ฐ˜๋ถ€์ธ ํ”„๋ž˜๊ทธ๋จผํŠธ ์…ฐ์ด๋”ฉ(Fragment Shading) ๋‹จ๊ณ„์˜ ๊ณผ๋ถ€ํ•˜๋กœ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. ์ฃผ๋œ ์›์ธ์€ ์˜ค๋ฒ„๋“œ๋กœ์šฐ๋กœ, ๋ถˆํˆฌ๋ช…ํ•œ ๋ฌผ์ฒด๋ฅผ '์•ž์—์„œ ๋’ค๋กœ(Front-to-Back)' ์ •๋ ฌํ•˜์ง€ ์•Š๊ณ  ๋ Œ๋”๋งํ•˜์—ฌ ๋’ค์— ๊ฐ€๋ ค์งˆ ํ”ฝ์…€์— ๋Œ€ํ•ด์„œ๋„ GPU๊ฐ€ ๋ถˆํ•„์š”ํ•œ ๊ณ„์‚ฐ์„ ์ค‘๋ณตํ•ด์„œ ์ˆ˜ํ–‰ํ•  ๋•Œ ์ผ์–ด๋‚ฉ๋‹ˆ๋‹ค [2]. - **InstancedMesh์˜ ๊ตฌ์กฐ์  ํ•œ๊ณ„:** `InstancedMesh` ๊ธฐ์ˆ ์€ ๋“œ๋กœ์šฐ ์ฝœ(Draw Call)์„ ์ค„์—ฌ CPU ์˜ค๋ฒ„ํ—ค๋“œ๋ฅผ ๋‚ฎ์ถ”๋Š” ๋ฐ ํšจ๊ณผ์ ์ด์ง€๋งŒ, ์ธ์Šคํ„ด์Šค๋“ค์— ๋Œ€ํ•œ ์ž๋™ ์ •๋ ฌ ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค [1, 2]. ๋”ฐ๋ผ์„œ ์นด๋ฉ”๋ผ์—์„œ ๋ฉ€๋ฆฌ ์žˆ๋Š” ์ธ์Šคํ„ด์Šค๊ฐ€ ๋จผ์ € ๊ทธ๋ ค์ง€๊ณ  ๊ฐ€๊นŒ์šด ์ธ์Šคํ„ด์Šค๊ฐ€ ๋‚˜์ค‘์— ๊ทธ๋ ค์ง€๋Š” ๋ฐฐ์น˜๊ฐ€ ๋ฐœ์ƒํ•˜๋ฉด, ์˜ค๋ฒ„๋“œ๋กœ์šฐ ๋น„์šฉ์ด GPU์˜ ํ”ฝ์…€ ์ฒ˜๋ฆฌ ์„ฑ๋Šฅ์„ ์ƒํšŒํ•˜๊ฒŒ ๋˜์–ด ํ”„๋ž˜๊ทธ๋จผํŠธ ๋ฐ”์šด๋“œ ์ƒํƒœ๋ฅผ ์œ ๋ฐœํ•ฉ๋‹ˆ๋‹ค [2]. - **์žฌ์งˆ(Material) ๋ณต์žก๋„์˜ ์˜ํ–ฅ:** ์˜ค๋ฒ„๋“œ๋กœ์šฐ๋กœ ์ธํ•œ ํ”„๋ž˜๊ทธ๋จผํŠธ ๋ฐ”์šด๋“œ ํ˜„์ƒ์€ ๋ณต์žกํ•œ ์กฐ๋ช… ์—ฐ์‚ฐ์ด ํฌํ•จ๋œ `MeshStandardMaterial`๊ณผ ๊ฐ™์€ ๋ฌด๊ฑฐ์šด ์žฌ์งˆ์„ ์‚ฌ์šฉํ•  ๋•Œ ๊ทธ ์‹ฌ๊ฐ์„ฑ์ด ๊ทน๋Œ€ํ™”๋ฉ๋‹ˆ๋‹ค [1, 2]. - **์„ฑ๋Šฅ ๊ฐœ์„  ๋Œ€์•ˆ:** ํ”„๋ž˜๊ทธ๋จผํŠธ ๋ฐ”์šด๋“œ ๋ณ‘๋ชฉ์„ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•œ ๋Œ€์•ˆ ์ค‘ ํ•˜๋‚˜๋กœ `BatchedMesh`๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. `InstancedMesh`์™€ ๋‹ฌ๋ฆฌ `BatchedMesh`๋Š” ์ธ์Šคํ„ด์Šค๋“ค์˜ ์ •๋ ฌ(sorted)์„ ์ง€์›ํ•˜๋ฏ€๋กœ ์˜ค๋ฒ„๋“œ๋กœ์šฐ๋ฅผ ํšจ๊ณผ์ ์œผ๋กœ ์ค„์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค [1]. ## โš ๏ธ ๋ชจ์ˆœ ๋ฐ ์—…๋ฐ์ดํŠธ (Contradictions & RL Update) - **๊ณผ๊ฑฐ ๋ฐ์ดํ„ฐ์™€์˜ ์ถฉ๋Œ:** ์ž๋™ํ™” ์—”์ง„์— ์˜ํ•ด ๋งคํ•‘๋œ ์ง€์‹์œผ๋กœ, ์ถ”ํ›„ ์ •๋ฐ€ ๊ฒ€์ฆ ํ•„์š”. - **์ •์ฑ… ๋ณ€ํ™”:** Graphics & Performance ๋ถ„์•ผ์˜ ์ž๋™ ์ž์‚ฐํ™” ์ˆ˜ํ–‰. ## ๐Ÿ”— ์ง€์‹ ์—ฐ๊ฒฐ (Graph) - **Related Topics:** [[แ„‹แ…ฉแ„‡แ…ฅแ„ƒแ…ณแ„…แ…ฉแ„‹แ…ฎ(Overdraw)|์˜ค๋ฒ„๋“œ๋กœ์šฐ(Overdraw)]], [[InstancedMesh|InstancedMesh]], [[BatchedMesh|BatchedMesh]], [[แ„‘แ…ณแ„…แ…ขแ„€แ…ณแ„†แ…ฅแ†ซแ„แ…ณ แ„‰แ…จแ„‹แ…ตแ„ƒแ…ตแ†ผ(Fragment Shading)|ํ”„๋ž˜๊ทธ๋จผํŠธ ์…ฐ์ด๋”ฉ(Fragment Shading)]] - **Projects/Contexts:** [[Three.js แ„…แ…ฆแ†ซแ„ƒแ…ฅแ„…แ…ตแ†ผ แ„‰แ…ฅแ†ผแ„‚แ…ณแ†ผ แ„Žแ…ฌแ„Œแ…ฅแ†จแ„’แ…ช|Three.js ๋ Œ๋”๋ง ์„ฑ๋Šฅ ์ตœ์ ํ™”]], [[MeshStandardMaterial แ„Œแ…ฉแ„†แ…งแ†ผ แ„‹แ…งแ†ซแ„‰แ…กแ†ซ|MeshStandardMaterial ์กฐ๋ช… ์—ฐ์‚ฐ]] - **Contradictions/Notes:** ์†Œ์Šค์— ๋”ฐ๋ฅด๋ฉด `InstancedMesh`๋Š” CPU์˜ ๋“œ๋กœ์šฐ ์ฝœ ๋ณ‘๋ชฉ์„ ํ•ด์†Œํ•˜๊ธฐ ์œ„ํ•ด ๋„์ž…๋˜์ง€๋งŒ, ๋‚ด๋ถ€ ์ •๋ ฌ(Sorting)์˜ ๋ถ€์žฌ๋กœ ์ธํ•ด ์˜คํžˆ๋ ค GPU ์ธก์—์„œ ํ”„๋ž˜๊ทธ๋จผํŠธ ๋ฐ”์šด๋“œ๋ผ๋Š” ์ƒˆ๋กœ์šด ํ˜•ํƒœ์˜ ์„ฑ๋Šฅ ๋ณ‘๋ชฉ์„ ์œ ๋ฐœํ•  ์ˆ˜ ์žˆ๋Š” ๊ตฌ์กฐ์  ํŠธ๋ ˆ์ด๋“œ์˜คํ”„๋ฅผ ์ง€๋‹ˆ๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค [1, 2]. --- *Last updated: 2026-04-19* - Raw Source: 00_Raw/2026-04-20/ํ”„๋ž˜๊ทธ๋จผํŠธ ๋ฐ”์šด๋“œ(Fragment-bound).md ---