๐ ๋ฉํฐํ๋ ์ด์ด ๊ฒ์ ์ต์ ํ์ ์ฑ๋ฅ ํ๋ – ๋ถ๋๋ฌ์ด ๊ฒ์ ํ๋ ์ด ๊ตฌํ
๋ฉํฐํ๋ ์ด์ด ๊ฒ์์์ 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๊ฐ์ ํฌ์คํ
์๋ฆฌ์ฆ๊ฐ ์์ฑ๋์๋ค.
๊ฐ ๊ธ์ ๊ฐ๋
+ ์ค์ ์ฝ๋ + ์ค์ฉ ํ์ ํฌํจํ์ฌ, ๋ธ๋ก๊ทธ ์ ๋ฌธ์ฑ๊ณผ ์ค์ต์ฑ์ ๋ชจ๋ ๋ณด์ฌ์ค ์ ์๋ ์๋ฆฌ์ฆ๋ค.
๋๊ธ
๋๊ธ ์ฐ๊ธฐ