IRQ OPTIMIZER · WINDOWS · LOW LATENCY · SURVIVAL GUIDE
왜 이 프로그램을 써야 하는가부터 시작하는
IRQ Optimizer 아주 상세한 사용 가이드
GPU, 오디오, 스토리지, NIC 같은 핵심 장치의 IRQ Affinity를 직접 조정해 입력 지연과 프레임타임 흔들림을 줄이고 싶은 사용자를 위한 실전 안내서

+ 바쁜 분들을 위한 세 줄 요약
  • 기능: OS가 임의로 흩뿌리는 장치 인터럽트(IRQ)를 사용자가 원하는 특정 CPU 코어에 직접 묶어주는 수동 제어 도구입니다.
  • 효과: 인풋랙 감소 및 프레임타임(1% Low) 안정화에 유리하며, AMD X3D나 인텔 하이브리드 코어 사용자에게 특히 효과적입니다.
  • 주의: 원클릭 최적화 마법이 아닌 '튜닝 툴'입니다. 관리자 권한이 필수이며, 프로그램 적용 후 반드시 재부팅해야 실제 성능이 반영됩니다.

서론 · 왜 써야 하는가
이 프로그램은 “평균적인 자동 분배” 대신 “내 시스템에 맞는 수동 제어”를 제공한다

Windows 기본 스케줄링은 대부분의 환경에서 무난하게 동작하지만, 항상 가장 낮은 지연이나 가장 안정적인 프레임타임을 보장하지는 않는다.
특히 GPU, 오디오 장치, 스토리지 컨트롤러, NIC 같은 장치의 인터럽트가 여러 코어에 넓게 흩어질 때, 특정 시스템에서는 입력 지연이 늘거나 미세한 스터터링이 체감될 수 있다.

IRQ Optimizer는 이런 상황에서 핵심 장치의 IRQ를 더 예측 가능한 코어 집합에 묶어준다.
즉, “시스템이 알아서 하겠지”에 맡기지 않고, “내가 중요 장치의 처리 위치를 정하겠다”는 방향으로 접근하는 도구다.

다음과 같은 사용자라면 이 프로그램을 써볼 이유가 있다.
· 경쟁 게임에서 입력 지연을 조금이라도 줄이고 싶은 사용자
· 1% Low, 프레임타임 안정성에 민감한 사용자
· AMD X3D, 듀얼 CCD, Intel 하이브리드 코어 구조에서 장치 배치를 더 세밀하게 관리하고 싶은 사용자
· 오디오, 방송, 녹화, 네트워크 반응성을 동시에 고려해야 하는 사용자


01 · 프로그램 정체 이해
이 프로그램이 실제로 하는 일

이 도구는 Windows 레지스트리의 IRQ 관련 정책 값을 바꿔서, 특정 장치가 어느 CPU 코어 집합에서 인터럽트를 처리할지 조정한다.
README 기준으로 적용 시 장치별로 현재 상태를 백업한 뒤, 레지스트리에 DevicePolicy=4AssignmentSetOverride 값을 기록한다.

핵심 포인트는 두 가지다.
첫째, 적용 전 상태를 자동 백업한다.
둘째, 적용 직후 검증을 수행해 성공 또는 실패를 알려준다.

단, 여기서 가장 중요한 사실은 하나다.
성공 메시지가 떠도 실제 효과는 재부팅 후 반영된다.
즉, 적용 버튼을 눌렀다고 바로 게임 체감이 바뀌는 것이 아니다.


02 · 사용 전 필수 조건
실행 전에 반드시 확인할 것

· 운영체제: Windows 10 또는 Windows 11 64비트
· 권한: 관리자 권한 필수
· 실행 환경: Python 3.9 이상
· 플랫폼 제약: winreg 모듈을 사용하므로 Windows 전용

macOS, Linux에서는 동작하지 않는다.
관리자 권한 없이 실행하면 레지스트리 쓰기 단계에서 정상 적용이 불가능하다.
README에 따르면 권한이 부족한 경우 UAC 프롬프트를 통한 재실행이 자동 시도될 수 있다.

또한 이 프로그램은 시스템 핵심 설정을 건드리므로, 아래를 미리 염두에 두는 편이 좋다.
· 시스템마다 효과 편차가 크다
· 잘못된 코어 고정은 성능 저하를 부를 수 있다
· 일부 백신은 관리자 권한 요청, PyInstaller onefile 구조, PowerShell 조회, HKLM 변경 때문에 오진할 수 있다


03 · 가장 빠른 시작 방법
처음 쓰는 사람을 위한 최소 절차

1. 관리자 권한으로 PowerShell 또는 CMD를 연다.
2. 저장소 폴더로 이동한다.
3. 아래 명령으로 실행한다.
python irq_optimizer_ultimate_safe.py

프로그램이 열리면 장치 목록이 자동으로 로드된다.
만약 목록이 비어 있거나 하드웨어 변경 이후 새로고침이 필요하면 Refresh Devices를 누른다.

처음에는 모든 장치를 다 바꾸려고 하지 말고, GPU 또는 오디오처럼 체감에 직접 연결되는 장치부터 순차적으로 적용하는 것이 안전하다.


04 · 1단계: 장치 스캔
목록을 읽는 법부터 알아야 한다

앱이 시작되면 장치 목록이 자동으로 불러와진다.
여기서 사용자는 단순히 이름만 보는 것이 아니라, 장치의 역할 태그를 함께 확인해야 한다.

README에 표시된 대표 태그는 다음과 같다.
[GPU] 그래픽카드 본체
[GPU-ROOT] GPU와 연결된 루트 포트
[AUDIO] 오디오 관련 장치
[STORAGE] 저장장치 관련 컨트롤러
[NIC] 네트워크 장치
[USB] USB 관련 장치

중요한 이유는 장치마다 우선순위가 다르기 때문이다.
예를 들어 게임 기준으로는 보통 GPU와 관련 루트 포트, 오디오, NIC가 우선 고려 대상이 되며, 모든 장치를 한 번에 같은 방식으로 다루는 것은 좋은 접근이 아닐 수 있다.


05 · 2단계: 대상 장치 선택
자동 선택과 수동 선택의 차이

이 프로그램은 사용자가 장치를 고르는 방식을 두 가지로 제공한다.
하나는 자동 선택, 다른 하나는 수동 선택이다.

자동 선택
Target Preference Profile 드롭다운에서 용도별 프로필을 고른 뒤 Select Target Devices를 누르면, 현재 목적에 맞는 장치를 자동으로 골라준다.

README 기준 프로필 설명은 다음과 같다.
· Balanced : 게임과 일반 작업을 함께 하는 환경
· Low Latency : 경쟁 게임처럼 지연 최소화가 우선인 환경
· Streaming : 방송, 녹화, 게임을 병행하는 환경

수동 선택
사용자가 목록에서 장치를 직접 하나 이상 고를 수 있다.
그리고 Apply to Selected는 현재 선택된 장치들에 동일한 마스크를 적용한다.

초보자라면 자동 선택으로 출발하는 것이 낫고, 시스템 구조를 이해하는 사용자라면 GPU만 따로, 오디오만 따로, NIC만 따로 조정하는 방식으로 더 세밀한 튜닝을 할 수 있다.


06 · 3단계: CPU 코어 지정
실제 튜닝의 핵심 구간

장치를 선택하면 현재 이미 설정된 마스크가 있다면 체크박스에 반영되어 보인다.
즉, 지금 선택한 장치가 어떤 코어 집합에 묶여 있는지 UI에서 확인할 수 있다.

여기서 가장 먼저 눌러볼 버튼은 Use Recommended다.
이 버튼은 CPU 아키텍처를 기준으로 권장 코어 세트를 자동 선택해준다.

이후 필요하면 체크박스를 직접 조정하면 된다.
이때 기억할 점은 “많이 고르는 것”이 무조건 좋은 것이 아니라는 점이다.
IRQ를 너무 넓은 코어 범위에 풀어버리면 다시 기본 분산과 큰 차이가 없어질 수 있고, 반대로 너무 좁게 묶으면 특정 코어 과부하가 생길 수 있다.

가장 실전적인 접근은 다음과 같다.
· 먼저 권장값으로 시작한다
· 적용 후 재부팅한다
· 게임 또는 작업 환경에서 10~20분 정도 실제 체감을 본다
· 필요하면 범위를 좁히거나 넓혀 미세 조정한다


중요 개념:
이 프로그램은 Processor Group 0의 최대 64개 논리 코어 범위만 지원한다.
README 기준으로 64개를 초과하는 시스템에서는 63번을 넘는 논리 프로세서는 UI에서 숨겨진다.
따라서 HEDT나 초다코어 환경이라면 이 제약을 먼저 이해하고 접근해야 한다.

07 · 4단계: 적용
Apply to Selected를 눌렀을 때 벌어지는 일

1. 사용자가 선택한 장치 목록을 대상으로 변경 작업이 시작된다.
2. 프로그램은 각 장치의 현재 상태를 자동 백업한다.
3. 레지스트리에 IRQ 정책 값이 기록된다.
4. 기록 직후 장치별 검증이 수행된다.
5. 성공 또는 실패 메시지가 표시된다.

여기서 가장 자주 놓치는 부분이 있다.
적용 성공 메시지는 “기록이 성공했다”는 뜻이지, “이미 시스템에 반영되어 성능이 바뀌었다”는 뜻이 아니다.
실제 반영은 반드시 재부팅 이후다.

따라서 Apply를 누른 직후 벤치마크를 돌려서 판단하면 안 된다.
적용 → 재부팅 → 게임/작업 재현 → 체감 또는 측정 비교 순서로 봐야 한다.


이 프로그램은 “적용 버튼”이 끝이 아니라,
“재부팅 후 실제 체감 확인”까지가 한 세트다.

08 · 5단계: 재부팅 후 효과 확인
어떻게 판단해야 하는가

README에서는 재부팅 후 게임을 10~20분 플레이하며 입력 지연과 프레임타임을 이전과 비교하라고 안내한다.
이 말은 매우 중요하다. 짧은 순간의 느낌이 아니라, 일정 시간 같은 조건으로 비교해야 한다는 뜻이기 때문이다.

확인할 포인트는 다음과 같다.
· 마우스/패드 입력 반응이 더 즉각적으로 느껴지는가
· 카메라 회전이나 빠른 이동 시 미세 끊김이 줄었는가
· 폭발, 교전, 맵 전환처럼 부하가 몰리는 순간의 프레임타임이 더 고르게 유지되는가
· 오디오 크랙, 네트워크 튐 같은 부작용은 없는가

만약 아무 차이가 없거나 오히려 나빠졌다면, 그건 실패가 아니라 현재 마스크가 시스템과 맞지 않았다는 의미다.
이때는 복구하거나 다른 코어 조합으로 다시 시도하면 된다.


09 · 복구 방법
Undo Focused와 Reset Focused의 차이

이 프로그램은 되돌리기 기능이 있기 때문에, 실험적 튜닝을 할 수 있다.
단, 두 버튼의 의미는 다르다.

Undo Focused
현재 포커스된 단일 장치의 마지막 변경을 이전 상태로 되돌린다.
즉, “바로 직전 상태로 복원”에 가깝다.

Reset Focused
현재 포커스된 단일 장치의 모든 커스텀 IRQ 값을 제거한다.
즉, “사용자 지정 흔적을 지우는 초기화”에 가깝다.

백업 파일 위치는 다음과 같다.
C:\ProgramData\IRQOptimizer\irq_backup.json

그리고 여기서도 예외는 없다.
Undo Focused, Reset Focused 모두 재부팅 후에 실제 반영된다.


10 · 추천 엔진 이해
토폴로지 기반 자동 추천은 어떻게 생각하면 되는가

프로그램은 실행 시 CPU 아키텍처를 자동으로 감지하고, 장치 역할에 맞는 권장 코어 그룹을 제시한다.
이는 무작위 추천이 아니라, CPU 구조별 일반적인 특성을 반영한 시작점이다.

README 기준 분기는 다음과 같다.
intel_hybrid : 12세대 이상 Core, Core Ultra 계열. GPU와 Root Port는 P코어 클러스터, 사이드 장치는 E코어 중심 배치
intel_legacy : 11세대 이하 Core 계열. GPU는 하위 물리 코어, 사이드 장치는 균일 분산
amd_dual_x3d : 7950X3D, 9950X3D 같은 구조. GPU는 1차 CCD, 사이드 장치는 2차 CCD 중심 배치
amd_single_x3d : 5800X3D, 7800X3D 등. X3D 캐시 인접 코어를 우선 활용
amd_generic : 일반 Ryzen, Threadripper 계열. GPU는 하위 물리 코어, 사이드 장치는 분리 배치

하지만 추천은 어디까지나 시작점이다.
README도 BIOS나 드라이버 레벨 토폴로지를 완전히 반영하지 못할 수 있다고 명시한다.
따라서 가장 올바른 사용법은 추천값을 출발점으로 쓰고, 실제 체감으로 검증하는 것이다.