적용 기술 개요 & 정직한 성능 경계

적용 기술 개요 — 정직한 성능 경계

실제 코드에 구현된 것만 이야기합니다 — 무엇을 보장하고, 무엇이 조건부인지까지.

실행 환경 — 무엇 위에서 동작하는가PC·네트워크 최적화 — 실제로 OS를 건드리는 것들라우터·버퍼블로트 최적화 — best-effort의 정직한 정의게임 오버레이 — 안전 원칙과 전체화면 한계안전장치 — 실패해도 되돌릴 수 있게

실행 환경 — 무엇 위에서 동작하는가

RocketUp(팀핑) 데스크톱은 .NET 8 기반 Windows 전용 WPF 애플리케이션입니다(대상 프레임워크 net8.0-windows). Windows 10과 Windows 11을 모두 지원하며, 내부적으로 OS 버전을 감지해 버전별로 동작이 달라지는 최적화(예: 커널 타이머 해상도 처리)를 자동으로 분기합니다.

네트워크 환경은 앱이 스스로 판별합니다. 활성화된 기본 어댑터를 조회해 '유선(Wired) / 무선(WiFi) / 알 수 없음(Unknown)'을 구분하고, MTU·DNS 서버·공인 IP·어댑터 목록까지 수집한 스냅샷을 만들어 이후 최적화 판단의 근거로 씁니다. 유선과 WiFi는 각각 다른 기법 세트가 적용됩니다 — 예를 들어 WiFi 환경에서만 스트리밍 모드·스캔 락·로밍 최소화 같은 무선 전용 튜닝이 후보에 오릅니다.

즉, '유선/WiFi 모두 지원'과 'Win10·11 모두 지원'은 마케팅 문구가 아니라 코드에서 실제로 환경을 감지하고 분기 처리한다는 뜻입니다. 다만 공인 IP 조회처럼 외부 요청이 필요한 항목은 인터넷 상황에 따라 실패할 수 있으며, 이 경우 조용히 건너뛰고 나머지 기능은 정상 동작합니다.

핵심 기술
  • 런타임: .NET 8 / WPF, Windows 전용(net8.0-windows, SupportedOSPlatform=windows)
  • Windows 10 · 11 모두 지원: OS 버전 감지 후 버전별 동작 분기
  • 네트워크 유형 자동 판별(유선/WiFi/알 수 없음) 및 유선·무선별 기법 분리
  • 환경 스냅샷 수집: MTU · DNS · 공인 IP · 어댑터 목록
  • 외부 조회(공인 IP 등) 실패 시 우아하게 생략, 핵심 기능은 유지

PC·네트워크 최적화 — 실제로 OS를 건드리는 것들

핵심 최적화는 Windows API·레지스트리·netsh·powercfg·WLAN API를 통해 실제 시스템 설정을 바꾸는 방식으로 동작합니다. 대표적으로 TCP Nagle 비활성화(TcpAckFrequency/TCPNoDelay)·Window Scaling, 타이머 해상도 정밀화(NtSetTimerResolution), MMCSS 게임 프로필, NIC 절전(EEE/ASPM) 차단, 인터럽트 모더레이션·RSS/RSC/LSO 조정, IPv6 터널링 정리, 동적 포트 범위 확장, 인터페이스 메트릭 조정, WiFi 스트리밍 모드·스캔 락·로밍 억제 등이 있습니다. 정적 코드 분석 기준으로 '관리자 권한에서 확실히 동작하는 핵심 트윅'은 약 50~80개입니다.

여기에 측정값에 반응하는 런타임 적응형 계층이 더해집니다. EWMA로 RTT·지터를 추정해 전송 간격과 재전송 지연을 조정하고(UdpJitterOptimizer, PacketMicroPacer), RTT/손실에 따라 전송 레벨(Normal/Slow/Emergency)을 바꾸며, 환경 스냅샷을 근거로 '이 PC엔 이 기법을 권장한다'는 플랜을 생성합니다.

정직하게 짚자면: 일부 문서·주석의 '수백 가지 기술'은 카탈로그·개별 설정값 단위로 센 마케팅 수치이며, 중복을 제거한 실제 OS 변경 논리 기능은 대략 70~120개 수준입니다. 또한 일부 상태 표시(CosmosCore 계열)에서 실제로 적용되지 않은 항목까지 '적용됨'으로 보이는 구간이 남아 있고, 이는 개선 대상으로 문서에 기록되어 있습니다.

핵심 기술
  • TCP/타이머/전원/스케줄러/NIC 절전 등 실제 레지스트리·netsh·powercfg·WLAN API 호출
  • WiFi 전용 튜닝: 스트리밍 모드·스캔 락·로밍 억제·WMM QoS
  • 적응형 대응: EWMA RTT/지터 기반 전송 간격·마이크로 페이싱·전송 레벨 전환
  • '관리자 권한에서 확실히 동작하는 핵심 트윅' 약 50~80개(정적 분석 기준)
  • '수백 가지'는 카탈로그 세기 등 실제 OS 변경 논리 기능은 ~70~120개로 정직 세기

라우터·버퍼블로트 최적화 — best-effort의 정직한 정의

게임 지연의 큰 원인인 버퍼블로트(혼잡 시 큐 지연)에 대해, RocketUp은 라우터에 CAKE(SQM) 셰이핑을 자동 적용하는 경로를 제공합니다. 다만 이것은 명확히 조건부 기능입니다. 앱은 라우터가 OpenWrt이고 SSH 접속이 가능하며 버퍼블로트가 감지된 경우에만 적용을 시도합니다. 그 조건이 아니면 억지로 건드리지 않고 '권고(recommendation)'로만 표시합니다 — 게이트웨이 IP를 못 찾거나, 셰이퍼 목표를 잡을 회선 속도 측정이 실패하면 자동 적용을 보류하고 사용자에게 정직하게 알립니다.

적용을 시도할 때도 안전이 최우선입니다. 프리플라이트 검사 → 기존 설정 스냅샷 백업 → 적용 → 연결·부하중 지연 재측정 순서로 진행하며, 적용 후 인터넷 연결이 끊기면 무조건 즉시 롤백합니다. 지연이 명백히 악화(부하중 지연 +20ms 이상)돼도 롤백합니다. 반대로 측정이 개선을 확증하지 못하면 결과를 부풀리지 않고 '미검증 유지'로 정직하게 라벨링합니다.

DNS 최적화도 같은 철학입니다. 여러 DNS 서버를 실제 벤치마크해 더 빠른 응답을 찾아 적용하되, 권한이나 환경이 안 되면 실패를 감추지 않습니다. 요컨대 '공유기/ISP가 지원할 때만' 효과가 나는 항목은 그렇게 표시하며, 지원하지 않는 환경에서 없는 효과를 주장하지 않습니다.

핵심 기술
  • 라우터 CAKE(SQM): OpenWrt + SSH 가능 + 버퍼블로트 감지 시에만 자동 시도
  • 조건 미충족(비SSH 라우터·게이트웨이 미확인·속도측정 실패) 시 자동 적용 안 함, 권고만
  • 적용 절차: 프리플라이트 → 스냅샷 백업 → 적용 → 재측정 → 필요 시 롤백
  • 연결 끊김/명백한 악화 시 즉시 자동 롤백(네트워크 보호 최우선)
  • 개선 미확증 시 결과를 'KeepUnverified(미검증 유지)'로 정직 표기
  • DNS는 실측 벤치마크로 선택 · 권한/환경 미달 시 실패를 감추지 않음

게임 오버레이 — 안전 원칙과 전체화면 한계

인게임 HUD(네트워크 안정성, 팀원 핑, 공개된 게임 시계·스코어)는 게임 프로세스에 일절 접근·주입·후킹하지 않습니다. 대신 완전히 별도의 투명·클릭통과·최상위 창(WS_EX_TRANSPARENT/LAYERED/NOACTIVATE)을 띄워 그 위에 정보만 그립니다. 클릭통과 처리로 게임 입력을 절대 가로채지 않으며, 이는 Riot Vanguard 같은 안티치트와의 충돌을 피하기 위한 설계입니다. 표시 데이터도 로컬 핑과 룸에서 이미 공유 중인 값, 그리고 게임이 공식 제공하는 Live Client Data(공개 정보)만 사용합니다. 회색지대였던 바론·용·전령 예측 타이머는 화면 표시(렌더링)에서 제외했습니다.

여기엔 명확한 기술적 한계가 있습니다. 게임이 '전체화면(독점, exclusive fullscreen)'으로 실행되면 별도 창인 오버레이는 그 위에 표시되지 않습니다. 그래서 앱은 이 한계를 숨기지 않고 UI에서 직접 안내합니다 — '전체화면이 아닌 테두리 없는 창모드에서 보입니다'라고 명시하며, 오버레이 시작 시에도 같은 안내를 반복합니다. 사용자가 borderless windowed 모드로 실행하면 정상적으로 보입니다.

또한 창 스타일을 바꾸는 Windows 인터롭 호출이 실패하더라도 HUD 자체는 계속 동작하도록 설계되어(클릭통과만 미적용), 오버레이가 통째로 죽지 않습니다.

핵심 기술
  • 게임 프로세스 무접촉 — 주입·후킹 없이 별도 투명 창에 HUD만 렌더링
  • 클릭통과(WS_EX_TRANSPARENT)로 게임 입력 절대 미차단 — Vanguard 안전 설계
  • 데이터는 로컬 핑 · 룸 공유값 · 공식 Live Client Data(공개 정보)만 사용
  • 전체화면(독점) 시 오버레이 미표시 → '테두리 없는 창모드' 안내를 UI에 명시
  • 회색지대 예측 타이머(바론/용/전령) 제거 · 공개 정보만 유지
  • 인터롭 실패 시에도 HUD 유지(클릭통과만 미적용, 통째 실패 방지)

안전장치 — 실패해도 되돌릴 수 있게

최적화 도구의 핵심은 '되돌릴 수 있는가'입니다. RocketUp은 레지스트리를 변경하기 전에 원래 값을 기록하는 백업 매니저를 두고, 이 백업을 디스크에 영속화해 앱을 재시작해도 일괄 복원이 가능하게 합니다. 원래 없던 값은 복원 시 삭제하고, 있던 값은 원본으로 되돌립니다.

개별 설정 적용은 '전부 아니면 전무'가 아닙니다. 특정 항목이 실패하면 그 항목만 건너뛰고(graceful skip) 나머지를 계속 진행하며, 관리자 권한이 없으면 권한이 필요한 항목은 적용하지 않고 '관리자로 재실행 시 적용'이라고 안내합니다. 커널 타이머처럼 최신 Windows에서 무시될 수 있는 API는 결과를 검증한 뒤 timeBeginPeriod 같은 대체 경로로 폴백합니다.

동기화·전송 계층에는 실시간 안전 모니터가 붙어 있습니다. 전송 대기 시간, 패킷 손실률, 실효 지연 증가를 지속 관찰하다가 임계값을 넘으면 롤백 신호를 발생시키고, 최적화 이후 네트워크 건강이 악화되면 자동으로 이전 상태로 되돌립니다. 이 안전 로직들은 단위 테스트로 고정되어 있습니다.

핵심 기술
  • 레지스트리 등 원본 백업 + 디스크 영속화로 재시작 후에도 일괄 복원
  • 개별 실패는 graceful skip · 전체 최적화가 통째로 중단되지 않음
  • 관리자 권한 부족 시 해당 항목 미적용 + '관리자 재실행 시 적용' 안내
  • 커널 타이머 등 결과 검증 후 대체 API로 폴백
  • SafetyRollbackMonitor: 전송지연·손실·실효지연 감시 후 임계 초과 시 자동 롤백
  • P2P 통신은 ECDH(P-256) 키 합의 + AES-256-GCM 암호화(단위테스트 통과)
🛡 정직한 경계 — 보장 vs 조건부

보장되는 것: 유선/WiFi·Windows 10/11 환경 감지와 분기, 관리자 권한에서 동작하는 핵심 OS 트윅(≈50~80개), 실패 시 우아한 생략과 레지스트리 복원, 위험 감지 시 자동 롤백, 게임 프로세스 무접촉 오버레이입니다. 조건부인 것: 라우터 CAKE(SQM)·버퍼블로트 개선은 공유기/ISP가 지원할 때만(OpenWrt+SSH 등) 효과가 나는 best-effort이며, 오버레이는 전체화면(독점)에서는 보이지 않아 창모드 사용을 안내합니다. 미보장·미검증: 구체적인 'N배/N% 빨라짐' 같은 수치는 실측 벤치마크가 아니라 정적 분석 추정이므로 확정 성능으로 제시하지 않으며, 다양한 실제 메인보드·NIC·공유기에서의 동작은 베타 실측이 필요한 영역으로 남아 있습니다.

DOWNLOAD

지금 RocketUp 시작하기

Windows 10 / 11 지원 · 관리자 권한 권장

🚀 Windows 10 / 11 (64-bit) · 설치 시 관리자 권한 권장 · 30개 언어 지원(OS 언어 자동)