최적화 ⏱️ 약 8분

모드팩 성능 최적화 가이드

렉 없이 쾌적하게 모드팩을 플레이하기 위한 성능 최적화 팁 모음.

📑 목차 (8개 섹션)
  1. 시작하기 전에 — 렉의 정체부터 파악하기
  2. JVM·메모리 설정
  3. 인게임 설정 — FPS 끌어올리기
  4. 청크·틱 관리 — 후반부 TPS 잡기
  5. 셰이더 — 켜기 전에 알아둘 것
  6. 크래시가 났다면
  7. 측정 도구 정리
  8. 함께 읽으면 좋은 글

시작하기 전에 — 렉의 정체부터 파악하기

'렉'이라고 부르는 증상은 사실 두 가지가 섞여 있습니다. FPS가 낮은 것TPS(초당 틱)가 떨어진 것은 원인이 다르고, 잡는 방법도 다릅니다. 어느 쪽인지 확인하지 않고 손대면 엉뚱한 데서 시간을 씁니다.

  • FPS 낮음 — 화면을 그리는 쪽이 못 따라가는 상태. 렌더 거리·그래픽 옵션·셰이더·렌더링 최적화 모드가 대응 지점입니다.
  • TPS 낮음 (정상은 20) — 서버(싱글플레이도 내부 서버가 돕니다) 시뮬레이션이 밀리는 상태. 자동화 라인 과부하, 과도한 청크 로딩, 엔티티 과밀이 원인입니다.
  • 주기적으로 뚝뚝 끊김 — GC 정지일 수 있습니다. [메모리·JVM 인수 가이드](/guides/memory-jvm-args-guide/) 참조.
  • 어떻게 구분하나

    FPS는 F3 디버그 화면에 바로 나옵니다. TPS는 F3에 표시되지 않습니다. TPS를 보려면 프로파일러 모드인 Spark가 가장 확실합니다 (/spark tps로 현재 TPS, /spark profiler로 무엇이 틱을 잡아먹는지 확인). FPS는 멀쩡한데 게임 진행이 굼뜨고 몹·기계 동작이 밀린다면 TPS 쪽 문제입니다.

    JVM·메모리 설정

    모드팩 성능에서 가장 먼저 손보는 게 RAM 할당과 JVM 인수입니다. 자세한 내용(Aikar's Flags 전문, 12GB 이상 할당 시 조정, Java 버전 매칭)은 [메모리·JVM 인수 가이드](/guides/memory-jvm-args-guide/)에 따로 정리해 두었습니다. 요약하면:

  • 할당량은 OS 몫을 남기고 잡습니다. 16GB PC라면 8~10GB 선. 남는 메모리가 없어 OS가 스왑을 시작하면 할당량과 무관하게 전체가 느려집니다
  • 무조건 크게 잡는 게 답이 아닙니다. 힙이 커지면 GC 한 번에 훑는 양도 늘어납니다
  • Java 버전을 맞춥니다. 1.20.5 이상(1.21 포함)은 Java 21, 1.18~1.20.4는 Java 17, 1.16.5 이하는 Java 8. 버전이 낮으면 실행 자체가 안 됩니다
  • 인게임 설정 — FPS 끌어올리기

    먼저 만질 항목

  • 렌더 거리 — 대형 모드팩에서는 8~12청크 정도가 무난합니다. GPU·CPU 부담이 가장 크게 걸리는 옵션입니다
  • 시뮬레이션 거리 — 엔티티·블록 틱이 도는 범위입니다. 렌더 거리와 별개이며, 줄이면 TPS 쪽에 도움이 됩니다
  • 파티클 — 자동화 라인이 커지면 파티클 양이 크게 늘어납니다. 줄이거나 최소로
  • VSync — 모니터 주사율에 FPS를 맞춰 화면 찢어짐을 없앱니다. 이미 FPS가 주사율보다 낮다면 켜도 성능이 오르지는 않습니다
  • 추가로 낮출 수 있는 항목

    구름, 엔티티 그림자, 부드러운 조명, 생체군계 블렌드(Biome Blend)는 끄거나 최소로 두면 부담이 줄어듭니다. 체감은 PC마다 다르므로 한 번에 하나씩 바꿔 가며 확인하세요.

    렌더링 최적화 모드

  • FabricSodium
  • Forge / NeoForge[Embeddium](/mods/embeddium/) (Sodium 코드에서 갈라져 나온 Forge/NeoForge용 렌더러)
  • 함께 쓰기 좋은 모드: [FerriteCore](/mods/ferritecore/) (메모리 절감), [ModernFix](/mods/modernfix/) (부팅·로딩·메모리), [Entity Culling](/mods/entity-culling/) (안 보이는 엔티티 렌더링 생략)
  • 모드팩에 이미 들어 있는 경우가 많습니다. mods 폴더를 먼저 확인하고, 있다면 모드 설정 화면에서 옵션을 조정하는 것으로 충분합니다.

    청크·틱 관리 — 후반부 TPS 잡기

    자동화가 본격적으로 도는 후반부에는 *FPS는 멀쩡한데 게임이 굼뜬* 상황이 자주 생깁니다. TPS 문제입니다.

    흔한 원인

  • 강제 로딩된 청크가 많음 — 청크 로더·FTB Chunks 등으로 청크를 계속 켜 두면 플레이어가 없어도 그 안의 모든 것이 계속 틱을 씁니다
  • 자동화 라인 과잉 가동 — 쓰지도 않는 자원을 계속 만들며 매 틱 부하를 만듭니다
  • 엔티티 과밀 — 아이템 드롭·몹·동물이 한곳에 쌓이면 틱 비용이 커집니다
  • 대응

  • Spark로 먼저 측정하세요. /spark profiler가 어느 모드·블록이 틱을 먹는지 알려 줍니다. 추측으로 뜯어고치는 것보다 훨씬 빠릅니다
  • 쓰지 않는 자동화 라인은 레드스톤으로 정지시켜 두기
  • 강제 로딩 청크를 정리하기 — 필요한 곳만 남기기
  • 드롭 아이템이 쌓이는 지점을 만들지 않기 (아이템 처리 라인 정리)
  • 참고: F3+A는 클라이언트가 청크를 다시 그리는 기능(렌더 리로드)입니다. 화면 깨짐을 고칠 때는 유용하지만 TPS와는 무관합니다.

    셰이더 — 켜기 전에 알아둘 것

    셰이더는 GPU 부하를 크게 늘립니다. 프레임이 얼마나 떨어지는지는 고른 셰이더팩과 그래픽카드가 결정하므로, 무거우면 더 가벼운 셰이더팩부터 시도하세요.

  • 셰이더 로더: Fabric은 Iris, Forge/NeoForge는 [Oculus](/mods/oculus/) (Iris의 Forge 포크)
  • Oculus는 단독으로 완결되지 않습니다. 저장소가 같은 작가의 Rubidium을 요구 사항으로 적어 두고 있고, 실제 모드팩에서는 Embeddium과 조합해 쓰는 경우가 많습니다. Embeddium과 Rubidium은 동시에 설치할 수 없으니 둘 중 하나만 고르세요
  • Oculus는 OptiFine과 함께 쓸 수 없습니다. 모드 저장소가 명시적으로 밝히고 있는 사항입니다
  • 기존 OptiFine·ShadersMod용 셰이더팩 zip은 Oculus에서 수정 없이 그대로 불러옵니다
  • 모드팩 자체에 익숙해지기 전에는 셰이더를 끄고 시작하는 편이 진단하기 쉽습니다. 문제가 생겼을 때 변수가 하나 줄어듭니다.

    크래시가 났다면

    성능 문제가 아니라 크래시라면 접근이 다릅니다. crash-report 읽는 법, 에러 종류별 의미, 충돌 모드 찾는 이분 검색법은 [모드 충돌 해결 가이드](/guides/mod-conflict-troubleshooting/)에 정리돼 있습니다.

    측정 도구 정리

  • F3 (인게임 디버그) — FPS, 메모리 사용량/할당량. TPS는 나오지 않습니다
  • Spark (모드) — TPS 확인과 틱 프로파일링. 후반부 렉의 원인을 찾는 데 가장 유용합니다
  • [JEI](/mods/just-enough-items/) 검색창 — 검색어 앞에 @를 붙이면 모드별로 아이템을 걸러 볼 수 있습니다. 어떤 모드가 무엇을 추가했는지 확인할 때
  • 함께 읽으면 좋은 글

  • [메모리·JVM 인수 가이드](/guides/memory-jvm-args-guide/) — RAM 할당·Aikar's Flags·Java 버전
  • [소형 최적화 모드 5종](/info/small-optimization-mods/) — 부팅·월드 로딩·접속 등 FPS 외 구간
  • [모드 충돌 해결 가이드](/guides/mod-conflict-troubleshooting/) — 크래시 대응
  • [모드팩 처음 시작하는 사람을 위한 가이드](/guides/beginner-modpack-guide/) — 설치·JEI·백업 등 일반
  • [모드팩 목록](/modpacks/) — 모드팩별 권장 RAM 확인
  • 📦 관련 모드팩