리눅스 게임 지연 측정 장치 제작 및 성능 비교 분석
맞춤형 하드웨어 장치를 제작하여 리눅스 게임 환경의 종단 간 입력 지연(End-to-End Input Latency)을 정밀 측정함
X11과 Wayland 디스플레이 서버 간의 지연 차이는 0.14~0.22ms로 미미했으나, XWayland는 3.13ms의 추가 지연을 유발함
VRR(가변 주사율) 활성화 시 지연 시간이 0.26~0.45ms 단축되었으며, 지연 분포도 안정화됨
DXVK의 저지연 포크(dxvk-low-latency)는 특히 XWayland 환경에서 2.1ms의 지연 감소 효과를 보임
맞춤형 입력 지연 측정 장치 설계 및 구현
본 프로젝트는 광센서 기반의 입력 지연 측정 장치를 직접 설계하고 제작하는 과정을 상세히 기술합니다. Adafruit QT Py RP2040 마이크로컨트롤러를 USB HID 마우스로 활용하여 클릭 신호를 생성하고, 포토다이오드로부터 초당 약 43,000회의 샘플링을 통해 화면 변화를 감지합니다. 이 데이터는 시리얼 통신으로 호스트 PC에 전송되어, 클릭 시점과 화면 밝기 변화 감지 시점 간의 종단 간 지연 시간(End-to-End Latency)을 계산하는 데 사용됩니다. 이는 기존 오픈소스 프로젝트(m2p-latency, Open-Source-LDAT)의 아이디어를 통합한 결과입니다.
X11 vs Wayland: 미미한 지연 차이와 XWayland의 성능 저하
측정 결과, 네이티브 X11과 네이티브 Wayland 간의 입력 지연 차이는 평균 0.14~0.22ms로 매우 작았습니다. 이는 Wayland가 X11보다 훨씬 느리다는 일반적인 인식과는 상반되는 결과입니다. 그러나 게임이 XWayland를 통해 실행될 경우, 네이티브 Wayland 대비 평균 3.13ms의 상당한 지연 증가가 관찰되었습니다. 이는 XWayland가 성능 병목의 주요 원인임을 시사합니다.
VRR(가변 주사율)의 지연 감소 및 분포 안정화 효과
VRR(Variable Refresh Rate) 활성화는 모든 테스트 시나리오에서 일관되게 지연 시간을 단축시키는 효과를 보였습니다. 평균적으로 0.26~0.45ms의 지연 감소가 있었으며, 특히 지연 시간 분포의 편차(p95-p5 spread)를 2.1~2.2ms로 줄여 더 부드러운 경험을 제공했습니다. 이는 프레임이 준비되는 즉시 디스플레이로 전송되는 VRR의 작동 방식과 일치합니다.
DXVK 저지연 포크의 성능 향상 및 XWayland 보완 효과
DXVK의 저지연 포크(`dxvk-low-latency`)는 고정된 프레임 속도 환경에서 평균 0.10~0.29ms의 지연 감소를 제공했습니다. 더 주목할 점은 프레임 속도가 제한되지 않은(uncapped) 시나리오에서 기본 DXVK 대비 0.84ms의 지연 감소를 달성했으며, GPU 사용률을 95-97%로 유지하여 렌더 큐(render-queue) 빌드업을 방지했습니다. 특히 XWayland 환경에서는 2.1ms의 지연을 회복시키는 가장 큰 이득을 보였습니다.