โ๏ธToday I Learned
๐
2025-08-01
CS - ์ปดํจํฐ ๋ฉ๋ชจ๋ฆฌ ๊ณ์ธต๊ตฌ์กฐ
์ปดํจํฐ๋ ๊ฐ๊ฐ ํน์ง์ด ์๋ ์๋ก ๋ค๋ฅธ ์ฌ๋ฌ ์ข
๋ฅ์ ๊ธฐ์ต์ฅ์น๋ฅผ ํจ๊ป ์ฌ์ฉํ์ฌ ์ต์ ์ ํจ์จ์ ๋ผ ์ ์๋ค.
๋ฉ๋ชจ๋ฆฌ ์ข
๋ฅ
- ๋ ์ง์คํฐ
๊ฐ์ฅ ๋น ๋ฅธ ๋ฉ๋ชจ๋ฆฌ. CPU๊ฐ ์ฐ์ฐํ ๊ณ์ฐ ๊ฒฐ๊ณผ๋ฅผ ์ ์ฅํ๋ค.
์ฉ๋์ด ๋ช ๋ฐ์ดํธ๋ง ์ ์ฅํ ์ ์์ ์ ๋๋ก ๋งค์ฐ ์ ์ด ํฐ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ ์ ์๋ค.
- ์บ์
๋ ์ง์คํฐ ๋ค์ ๋น ๋ฅธ ๋ฉ๋ชจ๋ฆฌ. CPU ์ฝ์ด์์ ๊ฑฐ๋ฆฌ์ ๋ฐ๋ผ L1, L2, L3์บ์ ๋ฑ์ผ๋ก ๋๋๋ค.
๋ณดํต SRAM์ผ๋ก ๊ตฌ์ฑ๋์ด ์์ผ๋ฉฐ ๋ ๋ฒจ์ด ๋์์๋ก ์ฉ๋์ด ํฌ์ง๋ง CPU์ฝ์ด์ ๊ฑฐ๋ฆฌ๊ฐ ๋ฉ์ด ๊ทธ๋งํผ ๋ ์ดํด์๊ฐ ๋์ด๋ ์๋๊ฐ ๋๋ฆฌ๋ค.
์ตํ์ ๋ ๋ฒจ ์บ์๋ LLC(Last Level Cache)๋ผ๊ณ ๋ ๋ถ๋ฅธ๋ค.
L1 ์บ์๋ ๋ช
๋ น์ด ์บ์์ ๋ฐ์ดํฐ ์บ์๋ก ๋๋๋ค.
๋ณดํต ํ๋ก๊ทธ๋๋จธ๊ฐ ์ ์ดํ ์ ์๊ณ CPU์ ๋ฉ๋ชจ๋ฆฌ ์ปจํธ๋กค๋ฌ์ ์ํด ์ ์ด๋๋ค.
CPU๊ฐ ๋ฐ์ดํฐ๋ฅผ ์์ฒญํ ๋ ๋จผ์ ์บ์์์ ๊ฐ์ ธ์ค๊ฒ ๋๋ฉฐ ์ด ๋ฐ์ดํฐ๊ฐ ์บ์ ๋ฉ๋ชจ๋ฆฌ์ ์์ด ๋ฐ๋ก ๊ฐ์ ธ์ฌ ์ ์๋ ๊ฒฝ์ฐ๋ฅผ Cache Hit์ด๋ผ๊ณ ๋ถ๋ฅธ๋ค. ์บ์์ ์์ด ๋ฉ์ธ ๋ฉ๋ชจ๋ฆฌ์์ ์ง์ ๊ฐ์ ธ์์ผ ํ ๊ฒฝ์ฐ Cache Miss์ด๋ผ๊ณ ๋ถ๋ฅธ๋ค.
- RAM
CPU๋ ๋ฉ์ธ๋ณด๋์ ๋ถ๋ฆฌ๋์ด์๋ ๋ฉ๋ชจ๋ฆฌ ์ค ์ต์์ ๋ฉ๋ชจ๋ฆฌ์ด์ ํ๋ก๊ทธ๋จ์ ์ง์ ๊ตฌ๋ํ๋๋ฐ ์ฌ์ฉ๋๋ ์ฃผ ๊ธฐ์ต ์ฅ์น์ ์ตํ์ ๋ฉ๋ชจ๋ฆฌ์ด๋ค. CPU์ ์บ์์ ๋นํ๋ฉด ํจ์ฌ ๋๋ฆฌ์ง๋ง HDD, SSD์ ๋นํด ํจ์ฌ ๋น ๋ฅด๋ค. ์ฃผ๋ก DRAM์ผ๋ก ๊ตฌ์ฑ๋๋ค. SRAM์ด ๋น ๋ฅด์ง๋ง ๋ฉด์ ์ ํฌ๊ฒ ์ฐจ์งํ๊ณ ๋น์ธ๊ณ ๋์ฉ๋์ผ๋ก ๋ง๋ค๊ธฐ ์ด๋ ค์์ ๋์ฒด๋์๋ค.
ํ์ฌ ์ฌ์ฉ ์ค์ธ ํ๋ก๊ทธ๋จ์ด๋ ๋ช
๋ น๋ง์ ์์๋ก ์ ์ฅํ๋ค.
- SSD, HDD
ํ๋ก๊ทธ๋จ์ด ๊ตฌ๋๋ ๋ ์ง์ ์ฐ์ด์ง ์๋ ๋ณด์กฐ ๊ธฐ์ต์ฅ์น.
๋ฐ์ดํฐ ์๊ตฌ ์ ์ฅํ๋ ๋นํ๋ฐ์ฑ ๋์ฉ๋ ๊ธฐ์ต์ฅ์น์ด๋ค.
์ง์ญ ์ฐธ์กฐ์ฑ
์์ฃผ ์ฐ๋ ์ ๋ณด๋ง ๋น ๋ฅธ ๋ฉ๋ชจ๋ฆฌ์ ์ฌ๋ ค๋๋๋ค. ํ๋ก๊ทธ๋จ์ด ์ผ๋ถ๋ถ๋ง ์์ฃผ ์ฌ์ฉํ๋ ํ์
์๊ฐ์ ์ง์ฐ์ฑ: ์ต๊ทผ์ ์ ๊ทผ๋ ๋ฐ์ดํฐ๊ฐ ๊ฐ๊น์ด ๋ฏธ๋์ ๋ ํ๋ฒ ์ฌ์ฉ๋ ๊ฐ๋ฅ์ฑ์ด ๋๋ค.
๊ณต๊ฐ์ ์ง์ฐ์ฑ: ์ต๊ทผ์ ์ ๊ทผ๋ ๋ฐ์ดํฐ์ ์ฃผ๋ณ ๋ฐ์ดํฐ๊ฐ ์ฌ์ฉ๋ ๊ฐ๋ฅ์ฑ์ด ๋๋ค.
RAM์ ๋ฐ์ดํฐ๋ฅผ ์์ฒญํ๋ฉด RAM์ ๋ฐ์ดํฐ๋ฅผ CPU๋ก ๋ณด๋ด์ฃผ๋๋ฐ ์ด๋ CPU๊ฐ ๋ฐ์ดํฐ๋ฅผ ๋ฐ๊ธฐ ์ ๊น์ง ๋๊ธฐํ๊ฒ๋๋ค. ์์ฃผ ์ฐ๋ ์ ๋ณด๋ฅผ RAM์ ๋ฃ์ผ๋ฉด ์ธ ๋๋ง๋ค CPU๊ฐ ๋๊ธฐ๋ฅผ ํ๊ฒ๋์ด ์ปดํจํฐ๊ฐ ์ ์ฒด์ ์ผ๋ก ๋๋ ค์ง๋ค.
์์ฃผ ์ฐ๋ ์ ๋ณด๋ฅผ ์บ์์ ์ ์ฅํ๋ฉด RAM์์ ๊ฐ์ ธ์ฌ๋๋ณด๋ค ๋๊ธฐ ์๊ฐ์ด ํจ์ฌ ์ค์ด๋ ๋ค. ํ์ง๋ง ์บ์๋ RAM๋ณด๋ค ์ฉ๋์ด ์ ๊ณ ๊ฐ๊ฒฉ์ด ๋น์ธ ์์ฃผ ์ฐ์ง ์๋ ์ ๋ณด๋ RAM์ ์ฌ๋ ค๋๋ ๊ฒ์ด ์ข๋ค.
ํํ - BTTask๋ก ๊ณต๊ฒฉ๋ชจ์
+๊ณต๊ฒฉ ๋์ ์คํ์ํค๊ธฐ
- BehaviorTree์์ BTTask_ExecuteGameplayAbility์คํ
๋ฐ๋ํ GA Asset tag์ ๊ฐ์ ํ๊ทธ๋ก ์ค์
- ํด๋น GA ํธ๋ฆฌ๊ฑฐ
- GA ๊ฐ๊ณ ์๋ ์กํฐ์ Character Data์์ ํ๊ทธ๋ก ์ ๋ ๋ชฝํ์ฃผ ๊ฐ์ ธ์ค๊ธฐ
- PlayMontageAndWait์ผ๋ก ๋ชฝํ์ฃผ ์คํ
- ํด๋น ๋ชฝํ์ฃผ์ ์ ๋ ๋
ธํฐํ์ด DrgAnimNotify_SendGameplayEvent ๋ก ์ด๋ฒคํธ ํ๊ทธ send
- Wait Gameplay Event์์ ํ๊ทธ ๋ฐ์์ Fire Projectile ์คํ
๐ก ๋๋ ์ (What I Felt)
๋นํด๋น์ด ํธ๋ฆฌ์ ์ ๋ณด๋ฅผ ๊ฐ์ AI ์ปจํธ๋กค๋ฌ๋ฅผ ๊ณต์ ํ๋ AI๋ค์ด ๋ชจ๋ ๊ณต์ ํ์ฌ ๊ฐ๊ฐ ํ์ฌ ํ์คํฌ์ ์งํ ์ํฉ์ ๋ฐ๋ผ ์ข
๋ฃํ๋ ๋ก์ง์ ๊ตฌํํ๋๊ฒ ์ด๋ ค์ ๋ค. ์ง๊ธ์ ์ ํด๊ฒฐ๋ ๊ฒ ๊ฐ์๋ฐ...
์ถ์ฒ: ์คํ๋ฅดํ์ฝ๋ฉ ๋ด์ผ๋ฐฐ์์บ ํ