13년차의 서버실

서버, 인프라, 홈랩 기술 블로그

[태그:] PCSX2최적화

  • [Game] 에뮬레이터 성능 최적화: RetroArch 1.22 및 PCSX2 2.6 설정 가이드

    [Game] 에뮬레이터 성능 최적화: RetroArch 1.22 및 PCSX2 2.6 설정 가이드

    13년차 엔지니어가 에뮬레이션에 진심인 이유

    안녕하세요! 서버실에서 장비들과 씨름한 지 벌써 13년이 된 인프라 엔지니어입니다. 낮에는 수십 대의 서버와 네트워크 장비를 만지지만, 퇴근 후에는 거실 한구석에 마련한 홈랩(Home Lab)에서 고전 게임을 즐기는 게 제 유일한 낙이거든요. 그런데 말입니다, 최신 사양의 PC를 맞췄음에도 불구하고 예전 게임들이 버벅이거나 화면이 찢어지는 현상을 겪어보신 적 없으신가요? 저도 처음엔 ‘아니, 이 사양에 이게 왜 안 돌아가?’라며 당황하며 삽질을 좀 했습니다 ㅎㅎ

    결국 인프라 엔지니어답게 원인을 분석하고 최적화 옵션을 하나하나 건드려 보면서 해결책을 찾았는데요. 이번에는 2026년 8월 기준으로 내용을 다시 손봤습니다. 현재 기준으로는 RetroArch 1.22.2, PCSX2 2.6.0 안정판과 최근 Nightly 계열 흐름을 반영해, 에뮬레이터 성능 최적화, 입력 지연 줄이기, Vulkan 설정, PS2 에뮬레이터 업스케일링 포인트를 중심으로 정리해 볼게요. 자, 저와 함께 서버 튜닝하는 기분으로 세팅하러 가보시죠!

    에뮬레이터 성능 최적화를 위한 하드웨어 추상화 계층 구조도

    에뮬레이션이 호스트 하드웨어에서 어떻게 작동하는지 보여주는 추상화 개념도입니다.

    에뮬레이터 성능, 왜 내 컴퓨터에서도 버벅일까?

    에뮬레이션의 핵심: 하드웨어 추상화와 오버헤드

    우선 간단한 개념부터 짚고 갈게요. 쉽게 말해 에뮬레이션은 ‘A라는 기계의 하드웨어를 B라는 기계 위에서 소프트웨어로 흉내 내는 과정’입니다. 이 과정에서 필연적으로 Overhead(오버헤드, 처리 시간 지연)가 생기게 되죠. 예를 들어, 옛날 콘솔의 CPU 명령어를 지금 우리 PC의 CPU가 이해할 수 있는 언어로 실시간 번역(JIT Recompilation)해야 하거든요. 이게 생각보다 CPU 자원을 엄청나게 잡아먹습니다.

    게다가 단순한 연산 성능뿐만 아니라 그래픽 렌더링 방식의 차이, 오디오 동기화 문제, 디스플레이 주사율 차이까지 고려할 게 정말 많습니다. 우리가 흔히 겪는 ‘렉’은 대부분 이 Sync(동기화) 과정에서 병목 현상이 생기기 때문에 나타나요. 이걸 해결하려면 하드웨어 자원을 효율적으로 분배하는 최적화 설정이 반드시 필요하거든요.

    RetroArch(레트로아크) 최적화: 인풋렉과 티어링 잡기

    RetroArch는 수많은 에뮬레이터 코어를 관리하는 훌륭한 Frontend(프런트엔드)인데요, 기본 설정만 가지고는 100% 성능을 내기가 쉽지 않아요. 특히 최근 버전에서는 Latency(지연 시간)와 Video(비디오) 설정이 더 세분화돼서, 예전처럼 무턱대고 옵션을 다 켜기보다 내 모니터 환경에 맞춰 조절하는 게 중요해졌습니다.

    1. 비디오 및 싱크(Sync) 설정의 정석

    먼저 비디오 드라이버부터 확인해야 합니다. 현재 RetroArch에서는 메뉴 경로가 Settings > Drivers > Video 또는 스킨에 따라 Settings > Video > Output > Video로 보일 수 있는데요, 최근 그래픽 카드라면 여전히 Vulkan(벌칸)이 가장 먼저 시도할 만한 선택지입니다.

    • Settings > Drivers > Video: vulkan으로 설정
    • Settings > Video > Synchronization: VSync(수직 동기화)는 기본적으로 켜는 편이 좋습니다. 티어링 방지와 프레임 페이싱 안정화에 유리하거든요.
    • Hard GPU Sync / Max Swapchain Images / Waitable Swapchains: 인풋렉을 더 줄이고 싶을 때 손대는 옵션입니다. 다만 이건 만능이 아니라, CPU나 GPU 여유가 부족하면 오히려 오디오 지직거림이나 스터터링이 생길 수 있어요.
    • VRR 모니터 사용 시: G-Sync나 FreeSync를 쓰신다면 Sync to Exact Content Framerate 옵션이 더 잘 맞는 경우가 많습니다. 이 경우 60Hz 고정보다 체감이 더 자연스럽더라고요.

    2. Latency(지연 시간)의 혁명: Run-Ahead 기능

    이건 여전히 정말 꿀팁인데요, RetroArch의 Run-Ahead(런어헤드) 기능은 실제 콘솔보다 더 빠른 반응 속도를 보여주기도 합니다. 게임의 프레임을 미리 계산해서 인풋렉을 상쇄하는 기술이죠. 다만 최근에는 Automatic Frame Delay나 Run Pre-Emptive Frames 같은 옵션도 함께 보이기 때문에, 전부 한 번에 과하게 켜기보다는 하나씩 테스트하는 걸 추천드립니다.

    # RetroArch 설정 내 주요 레이턴시 옵션 경로
    Settings -> Latency -> Run-Ahead to Reduce Lag: On
    Number of Frames to Run-Ahead: 1 (보통 1~2프레임이 적당해요)
    Automatic Frame Delay: 필요할 때만 소폭 조정
    Run Pre-Emptive Frames: 특정 코어에서만 신중하게 테스트
    

    특히 런어헤드는 세이브스테이트 기반이라 코어 호환성 영향을 받습니다. 프레임이 흔들리거나 이상한 롤백 느낌이 난다면 숫자를 더 올리는 게 아니라, 오히려 1프레임으로 낮추거나 끄는 쪽이 정답일 때가 많아요.

    RetroArch 설정 메뉴에서 벌칸 렌더러를 선택하는 화면

    RetroArch에서 Vulkan 렌더러와 인풋렉 방지 설정을 적용하는 메뉴 화면입니다.

    PCSX2(PS2 에뮬레이터) 최적화: 고해상도로 즐기는 고전 게임

    PS2 에뮬레이터 PCSX2는 사양을 꽤 타는 편이거든요. 특히 3D 게임이 많아서 그래픽 설정이 성능을 좌우하죠. 예전에는 1.7.0 Nightly 기준으로 설명하는 글이 많았지만, 이제는 PCSX2 2.6.0 안정판이 기준선이라고 보시면 됩니다. Nightly는 2.7.x 계열로 계속 업데이트되고 있지만, 대부분의 분들에게는 안정판부터 맞추는 게 덜 피곤해요.

    1. 그래픽 렌더러와 내부 해상도(Internal Resolution) 설정

    기본 해상도(Native)로 돌리면 화면이 너무 뭉개져서 볼품없거든요. 여기서 우리는 Upscaling(업스케일링)의 힘을 빌려야 하거든요. 다만 요즘 PCSX2는 그래픽 API 선택도 예전보다 똑똑해져서, 무조건 하나만 고집할 필요는 없어졌습니다.

    1. Graphics API: 잘 모르겠다면 Automatic이 먼저입니다. 수동 선택이 필요하면 보통 Vulkan을 우선 추천하지만, Intel iGPU에서 불안정하면 Direct3D 11/12로 바꿔보는 게 더 낫습니다.
    2. Internal Resolution: 1080p 모니터라면 3x Native(1080p), 1440p면 4x, 4K라면 6x 전후가 무난합니다. 욕심내서 너무 올리면 GPU 사용률만 치솟고 프레임 타임이 망가질 수 있어요.
    3. Texture Preloading: 게임 중 스터터링이 거슬리면 Full (Hash Cache)를 시도해 볼 만합니다. 다만 게임과 시스템에 따라 기본값이 더 나을 때도 있으니, 이것도 역시 고정 정답은 아닙니다.

    2. 스피드핵(Speedhacks)과 사이클 레이트 조절

    성능이 부족하다면 Speedhacks를 만지고 싶어지는데요, 요즘 PCSX2는 기본 설정 자체가 예전보다 훨씬 좋아져서 무턱대고 언더클럭부터 거는 건 오히려 독이 될 때가 많습니다. 제 경험상 요즘은 기본값 유지를 먼저 해보고, 그다음에 정말 부족할 때만 한 단계씩 조정하는 편이 훨씬 안정적이더라고요.

    옵션명 권장 접근 효과
    EE Cycle Rate 기본값에서 시작, 부족할 때만 -1 단계 수준으로 테스트 가상 CPU 부하를 조절해 프레임 확보
    EE Cycle Skip 가능하면 0 유지, 정말 안 될 때만 Mild Skip(1) 연산량이 많을 때 프레임을 스킵해 속도 유지

    특히 특정 게임에서만 느리다면 글로벌 설정을 바꾸기보다 Game Properties로 게임별 프로파일을 따로 두는 게 훨씬 깔끔합니다. 요즘 PCSX2는 이 방식이 정말 편해졌거든요.

    PCSX2 네이티브 해상도와 4K 업스케일링 품질 비교

    저해상도 네이티브 화면과 4K 업스케일링 화면의 퀄리티 차이를 보여주는 비교 이미지입니다.

    2026년 업데이트: VRR, Automatic 렌더러, OSD로 병목 찾기

    최근 들어 제 체감상 가장 큰 변화는 무조건 이 옵션 하나보다 자동화와 계측이 더 중요해졌다는 점입니다. 최신 버전의 RetroArch와 PCSX2는 예전보다 기본값이 꽤 똑똑해졌고, 병목을 눈으로 확인할 수 있는 도구도 좋아졌거든요.

    • RetroArch + VRR: G-Sync, FreeSync, VRR 모니터를 쓰신다면 Sync to Exact Content Framerate를 먼저 점검해 보세요. 144Hz나 165Hz 모니터에서 60Hz로 억지 고정하는 것보다 프레임 페이싱이 훨씬 자연스러운 경우가 많습니다.
    • RetroArch + 오디오 싱크: Audio Latency를 너무 낮추면 오히려 지직거림이 생길 수 있습니다. 35ms~64ms 전후에서 안정성을 먼저 확보하는 게 체감상 더 낫더라고요.
    • PCSX2 + Automatic: 그래픽 API를 잘 모르겠다면 Automatic으로 시작하는 게 요즘은 정답에 가깝습니다. 성능보다 안정성을 먼저 잡아주거든요.
    • PCSX2 + OSD: Settings > Graphics > OSD에서 카운터를 켜면 Readbacks, Texture Uploads, Texture Copies 같은 병목을 볼 수 있습니다. 막연히 해상도만 낮추는 것보다 훨씬 빠르게 원인을 찾을 수 있어요.
    • 노트북 사용자: NVIDIA WhisperMode나 절전 전원 계획 때문에 40FPS 근처에서 묶이는 경우가 아직도 많습니다. 의외로 설정 하나 때문에 고생하는 분들이 많더라고요.

    ⚠️ 직접 겪은 트러블슈팅: 사운드 지직거림과 화면 찢어짐

    설정을 다 마쳤는데 소리가 지직거리거나 화면이 잘린다면? 저도 처음엔 사운드 카드 문제인 줄 알았는데, 사실 에뮬레이션 속도가 100%가 안 나와서 생기는 현상이더라고요.

    • Audio Crackling: 프레임 드랍이나 과도한 저지연 세팅이 원인일 때가 많습니다. RetroArch라면 Run-Ahead, Frame Delay, Audio Latency를 한꺼번에 욕심내지 말고 하나씩 되돌려 보세요.
    • Screen Tearing: VSync를 켜거나, VRR을 제대로 활성화하거나, TV라면 반드시 Game Mode를 켜는 게 가장 확실해요.
    • Shaders(쉐이더) 스터터링: 처음 실행 시 셰이더 컴파일 때문에 잠깐 끊길 수 있습니다. 특히 4K에서 무거운 CRT 쉐이더를 올리면 프레임 페이싱이 무너질 수 있으니 단계적으로 올려보세요.
    • PCSX2 저속 구동: ISO를 USB 외장 저장장치에서 바로 읽으면 체감 성능이 크게 떨어질 수 있습니다. 가능하면 SATA SSD나 NVMe 쪽에 두는 편이 낫습니다.

    최적화 전후 성능 비교 데이터

    제가 홈랩에서 직접 테스트한 결과입니다. 확실히 설정을 만진 후가 만족도가 높네요!

    항목 최적화 전 (기본) 최적화 후 (Vulkan + 튜닝)
    평균 프레임 (FPS) 45 FPS 60 FPS (고정)
    인풋렉 (Input Lag) 85ms 15ms
    화면 품질 SD (480i) FHD (1080p) 업스케일
    에뮬레이터 성능 최적화 전후 FPS 및 지연 시간 비교 인포그래픽

    FPS 향상과 지연 시간 감소를 한눈에 보여주는 요약 차트입니다.

    마무리하며: 쾌적한 레트로 라이프를 위하여

    오늘 제가 준비한 내용은 여기까지입니다. 13년 차 인프라 엔지니어로 살면서 느낀 건, 서버든 게임 에뮬레이터든 결국 환경에 맞는 적절한 자원 배분이 핵심이라는 점입니다. 그리고 2026년 기준으로는 한 가지 정답을 외우는 것보다, 내 디스플레이 환경, 내 GPU 특성, 내가 돌리는 코어와 게임에 맞춰 미세 조정하는 쪽이 훨씬 중요해졌습니다.

    처음엔 옵션들이 복잡해 보일 수 있지만, 하나씩 바꿔보며 최적의 값을 찾아가는 과정 자체가 또 하나의 즐거움이 아닐까 싶네요. 혹시 설정하시다가 막히는 부분이 있거나, 특정 게임에서만 발생하는 문제가 있다면 댓글로 남겨주세요! 저도 같이 고민해 보고 해결책을 찾아보겠습니다. 그럼 모두 즐거운 레트로 게임 라이프를 즐기셨으면 좋겠어요. 감사합니다!

    🔄 마지막 업데이트: 2026년 08월