ํ๋ด ์ธํฐ๋ํฐ๋ธ ์ปดํผ๋
๊ฒ์์ ๊ฒฝ์ฐ ๊ฒ์์ด ์คํ๋๋ ๋์ ์์คํ ์์ ๊ธฐ๋ณธ์ ์ผ๋ก ์ฌ์ฉ๋์ง ์๋ ํน์ ์ต์ ํ๋ฅผ ํฌํจํ๋๋ก ์์ฒญํ ์ ์๋ ํน์ libgamemode ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ด ์ข์ต๋๋ค. ๊ฒ์ ์ฝ๋๋ฅผ ๋ณ๊ฒฝํ ํ์ ์์ด ์๋ ์ต์ ํ ๋ชจ๋(๊ฒ์ ์์ ์ LD_PRELOAD๋ฅผ ํตํด libgamemodeauto.so ๋ก๋)์์ ๊ฒ์์ ์คํํ๋ ๋ฐ ์ฌ์ฉํ ์ ์๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ต์ ๋ ์์ต๋๋ค. ํน์ ์ต์ ํ์ ํฌํจ์ ๊ตฌ์ฑ ํ์ผ์ ํตํด ์ ์ดํ ์ ์์ต๋๋ค.
์๋ฅผ ๋ค์ด, GameMode๋ฅผ ์ฌ์ฉํ๋ฉด ์ ์ ๋ชจ๋๋ฅผ ๋นํ์ฑํํ ์ ์๊ณ , ๋ฆฌ์์ค ํ ๋น ๋ฐ ์์ ์์ฝ ๋งค๊ฐ๋ณ์๋ฅผ ๋ณ๊ฒฝํ ์ ์์ผ๋ฉฐ(CPU ๊ฑฐ๋ฒ๋ ๋ฐ SCHED_ISO), I/O ์ฐ์ ์์๋ฅผ ๋ค์ ์ ๋ ฌํ ์ ์๊ณ , ํ๋ฉด ๋ณดํธ๊ธฐ ์์์ ์ฐจ๋จํ ์ ์์ผ๋ฉฐ, ์ฑ๋ฅ์ ํฅ์ํ๋ ๋ค์ํ ๋ชจ๋๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค. NVIDIA ๋ฐ AMD GPU์์ ํ์ฑํ๋๊ณ NVIDIA GPU๋ฅผ ์ค๋ฒํด๋ญํ ์ ์์ต๋๋ค.(์ค๋ฒํด๋ฌํน) ์ฌ์ฉ์ ์ ์ ์ต์ ํ๊ฐ ํฌํจ๋ ์คํฌ๋ฆฝํธ๊ฐ ์คํ๋ฉ๋๋ค.
๋ฆด๋ฆฌ์ค 1.5์ ์ถ๊ฐ๋จ
GameMode 1.5์๋ PID ์ฌ์ฌ์ฉ ์ํฉ์ ์ฒ๋ฆฌํ๊ธฐ ์ํด 'pidfd' ๋ฉ์ปค๋์ฆ์ ์ฌ์ฉํ๋ ์๋ก์ด D-Bus API ์ธํธ๋ ๋์ ๋์์ต๋๋ค(pidfd๋ ํน์ ํ๋ก์ธ์ค์ ๋ฐ์ธ๋ฉ๋์ด ๋ณ๊ฒฝ๋์ง ์์ง๋ง PID๋ ํ์ฌ ํ๋ก์ธ์ค ์ดํ์ ๋ค๋ฅธ ํ๋ก์ธ์ค์ ๋ฐ์ธ๋ฉ๋ ์ ์์). ํ๋ก์ธ์ค๊ฐ ์ข ๋ฃ๋ฉ๋๋ค. ์ด PID์ ์ฐ๊ฒฐ๋จ).
์ถ์ฒ : opennet.ru