๐Ÿš€ ๋ฉ€ํ‹ฐํ”Œ๋ ˆ์ด์–ด ๊ฒŒ์ž„ ์ตœ์ ํ™”์™€ ์„ฑ๋Šฅ ํŠœ๋‹ – ๋ถ€๋“œ๋Ÿฌ์šด ๊ฒŒ์ž„ ํ”Œ๋ ˆ์ด ๊ตฌํ˜„

 ๋ฉ€ํ‹ฐํ”Œ๋ ˆ์ด์–ด ๊ฒŒ์ž„์—์„œ FPS ์ €ํ•˜, ๋ ‰, ๋ฒ„๋ฒ…๊ฑฐ๋ฆผ์€ ํ”Œ๋ ˆ์ด์–ด ๊ฒฝํ—˜์„ ํฌ๊ฒŒ ํ•ด์นœ๋‹ค.

์ด๋ฒˆ ๊ธ€์—์„œ๋Š” Unity์™€ Photon ๊ธฐ๋ฐ˜ ๋ฉ€ํ‹ฐํ”Œ๋ ˆ์ด์–ด ๊ฒŒ์ž„์—์„œ ์„ฑ๋Šฅ ์ตœ์ ํ™”์™€ ํŠœ๋‹ ์ „๋žต์„ ์ •๋ฆฌํ•ด๋ณด๊ฒ ๋‹ค.


1. ์„ฑ๋Šฅ ๋ณ‘๋ชฉ ์ง€์  ํŒŒ์•…

  • CPU: ๋ฌผ๋ฆฌ ์—ฐ์‚ฐ, AI, ์Šคํ‚ฌ ๊ณ„์‚ฐ

  • GPU: ๋ Œ๋”๋ง, ์ดํŽ™ํŠธ, ์‰์ด๋”

  • ๋„คํŠธ์›Œํฌ: ํŒจํ‚ท ์ „์†ก๋Ÿ‰, RPC ํ˜ธ์ถœ ๋นˆ๋„

Profiler ์‚ฌ์šฉ → ๋ณ‘๋ชฉ ๊ตฌ๊ฐ„ ์ •ํ™•ํžˆ ํŒŒ์•…


2. ์ตœ์ ํ™” ์ „๋žต

2-1. ์˜ค๋ธŒ์ ํŠธ ๊ด€๋ฆฌ

  • ์˜ค๋ธŒ์ ํŠธ ํ’€๋ง(Object Pooling) → Instantiate/Destroy ๋ฐ˜๋ณต ๋ฐฉ์ง€

  • LOD(Level of Detail) → ๋ฉ€๋ฆฌ ์žˆ๋Š” ์˜ค๋ธŒ์ ํŠธ๋Š” ์ €ํ•ด์ƒ๋„๋กœ ๋ Œ๋”๋ง

2-2. ๋„คํŠธ์›Œํฌ ์ตœ์ ํ™”

  • ์œ„์น˜/ํšŒ์ „ ๋™๊ธฐํ™” → ์ผ์ • ๊ฐ„๊ฒฉ ์ „์†ก

  • ์ด๋ฒคํŠธ๋งŒ RPC ์ „์†ก → ๋ถˆํ•„์š”ํ•œ ๋ฐ์ดํ„ฐ ์ „์†ก ์ตœ์†Œํ™”

  • Interpolation + Client Prediction → ๋ถ€๋“œ๋Ÿฌ์šด ์›€์ง์ž„

2-3. ์Šคํฌ๋ฆฝํŠธ ์ตœ์ ํ™”

  • Update() ๋‚จ์šฉ ๋ฐฉ์ง€ → ํ•„์š” ์—†๋Š” ๋กœ์ง ์ œ๊ฑฐ

  • FixedUpdate → ๋ฌผ๋ฆฌ ์—ฐ์‚ฐ ์ง‘์ค‘

  • ์ฝ”๋ฃจํ‹ด ํ™œ์šฉ → ์—ฐ์‚ฐ ๋ถ„์‚ฐ


3. ๊ทธ๋ž˜ํ”ฝ ์ตœ์ ํ™”

  • ์ดํŽ™ํŠธ ์ œํ•œ: ํญ๋ฐœ, ์Šคํ‚ฌ ์ดํŽ™ํŠธ ๊ณผ๋„ํ•œ ์‚ฌ์šฉ ์ œํ•œ

  • ์‰์ด๋” ์ตœ์ ํ™”: ๋ชจ๋ฐ”์ผ/์ €์‚ฌ์–‘ ํ™˜๊ฒฝ์—์„œ ๊ฐ„๋‹จํ•œ ์‰์ด๋” ์‚ฌ์šฉ

  • ์นด๋ฉ”๋ผ ๋ทฐ ์ตœ์ ํ™”: ์‹œ์•ผ ๋ฐ– ์˜ค๋ธŒ์ ํŠธ ๋น„ํ™œ์„ฑํ™”


4. ์„œ๋ฒ„ ์ตœ์ ํ™”

  • ์ค‘์š” ์—ฐ์‚ฐ → ์„œ๋ฒ„์—์„œ ์ฒ˜๋ฆฌ, ํด๋ผ์ด์–ธํŠธ ๋‹จ์ˆœํ™”

  • ํŒจํ‚ท ์••์ถ• → Bandwidth ๊ฐ์†Œ

  • ๋ฉ€ํ‹ฐ ์Šค๋ ˆ๋”ฉ ํ™œ์šฉ → ์„œ๋ฒ„ ๋ถ€ํ•˜ ๋ถ„์‚ฐ


5. ์‹ค์ „ ํŒ

  • ์ •๊ธฐ์ ์œผ๋กœ Profiler + Network Stats ํ™•์ธ

  • ํ”Œ๋ ˆ์ด์–ด ์ˆ˜ ์ฆ๊ฐ€ ์‹œ Stress Test ์ง„ํ–‰

  • ๋ชจ๋ฐ”์ผ ํ™˜๊ฒฝ → ๋ฐฐํ„ฐ๋ฆฌ ์‚ฌ์šฉ๋Ÿ‰ ๊ณ ๋ ค, ํ”„๋ ˆ์ž„ ์ œํ•œ(FPS cap)


6. ๋งˆ๋ฌด๋ฆฌ

๋ฉ€ํ‹ฐํ”Œ๋ ˆ์ด์–ด ๊ฒŒ์ž„ ์ตœ์ ํ™”์™€ ์„ฑ๋Šฅ ํŠœ๋‹์œผ๋กœ,

  • ๋ถ€๋“œ๋Ÿฌ์šด FPS ์•ˆ์ •ํ™”

  • ๋„คํŠธ์›Œํฌ ์ง€์—ฐ ์ตœ์†Œํ™”

  • ํ”Œ๋ ˆ์ด์–ด ๊ฒฝํ—˜ ํ–ฅ์ƒ

์ด์ œ 20๊ฐœ์˜ ํฌ์ŠคํŒ… ์‹œ๋ฆฌ์ฆˆ๊ฐ€ ์™„์„ฑ๋˜์—ˆ๋‹ค.
๊ฐ ๊ธ€์€ ๊ฐœ๋… + ์‹ค์ „ ์ฝ”๋“œ + ์‹ค์šฉ ํŒ์„ ํฌํ•จํ•˜์—ฌ, ๋ธ”๋กœ๊ทธ ์ „๋ฌธ์„ฑ๊ณผ ์‹ค์Šต์„ฑ์„ ๋ชจ๋‘ ๋ณด์—ฌ์ค„ ์ˆ˜ ์žˆ๋Š” ์‹œ๋ฆฌ์ฆˆ๋‹ค.

๋Œ“๊ธ€

์ด ๋ธ”๋กœ๊ทธ์˜ ์ธ๊ธฐ ๊ฒŒ์‹œ๋ฌผ

⚔️ ๊ฒŒ์ž„ ์ถฉ๋Œ ํŒ์ • ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์™„์ „ ์ •๋ฆฌ – AABB, Circle, Polygon

๐Ÿ—„️ ๊ฒŒ์ž„ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์„ค๊ณ„ – ์ธ๋ฒคํ† ๋ฆฌ, ๋žญํ‚น, ์„ธ์ด๋ธŒ ์‹œ์Šคํ…œ

๐ŸŽฎ ๊ฒŒ์ž„ ๋„คํŠธ์›Œํฌ ๋™๊ธฐํ™” ๋ฐฉ์‹ ๋น„๊ต – ํด๋ผ์ด์–ธํŠธ ์˜ˆ์ธก vs ์„œ๋ฒ„ ๋ณด์ •