CPU와 GPU 병목 현상 계산기

보편적인 병목 점수가 아닌 측정 프레임 시간

같은 재현 가능한 장면, 설정과 실행 방식으로 측정한 CPU·GPU 프레임 시간을 사용하세요. 사용률만으로 병목을 증명할 수 없습니다. 이 도구에는 하드웨어 이름 데이터베이스가 없으며 구매나 업그레이드를 권하지 않습니다.

프레임 시간 분석

벤치마크 조건 설명

라벨은 선택 사항입니다. 계정 이름, 일련번호 또는 기밀 프로젝트 정보를 입력하지 마세요.

일반 보기 값은 Livewire를 통해 처리됩니다. 선택 라벨을 포함한 단계식 흐름 값은 복원을 위해 페이지 URL과 브라우저 기록에 저장됩니다. 기밀 작업 이름이나 정보를 입력하지 마세요.

이 병목 현상 계산기를 사용해 동일한 게임 장면에서 측정한 CPU와 GPU 프레임 시간을 비교해 보세요. 각 장치의 프레임 속도 상한을 추정하고, 차이가 설정한 허용 오차를 초과할 때만 더 느린 쪽을 식별합니다. 또한 단 한 번의 캡처만으로 모든 게임이나 설정에 적용되는 보편적인 병목 비율을 산출할 수 없는 이유도 설명합니다.

CPU 또는 GPU 병목 현상을 분석하는 방법

  1. 1

    반복 가능한 장면 하나를 캡처하세요

    게임 내 벤치마크, 리플레이 또는 고정된 이동 경로를 사용하고 해상도, 그래픽 설정, 프레임 제한, VSync 상태를 동일하게 유지하세요. 기록하기 전에 게임을 충분히 실행해 안정화하세요.

  2. 2

    CPU 프레임 시간을 입력하세요

    프로파일러나 성능 캡처에서 프레임당 CPU 시간을 밀리초 단위로 복사하세요. 선택한 테스트 구간을 대표하는 값을 사용하세요.

  3. 3

    GPU 프레임 시간을 입력하세요

    동일한 장면과 캡처 구간에서 이에 대응하는 GPU 시간을 복사하세요. 서로 다른 실행, 프리셋 또는 해상도에서 얻은 결과를 섞지 마세요.

  4. 4

    허용 오차를 설정하고 결과를 해석하세요

    정상적인 실행 간 편차로 인해 근소한 결과가 뒤바뀔 수 있으므로, 허용 오차 범위 안의 작은 차이는 균형 잡힌 상태로 봅니다. 미미한 차이를 근거로 조치하기 전에 캡처를 반복하세요.

프레임 시간이 유용한 출발점인 이유

초당 프레임 수는 프레임 시간의 역수입니다. 시간을 밀리초로 측정하는 경우:

프레임 속도 상한 = 1000 / 프레임 시간(ms)

측정된 단계 중 더 느린 쪽이 단순화한 파이프라인의 상한을 결정합니다:

추정 상한 = 1000 / max(CPU 프레임 시간, GPU 프레임 시간)

이는 진단을 위한 추정치이며 게임이 정확히 그 속도로 프레임을 표시한다는 보장이 아닙니다. 프레임 제한, 동기화, 대기열, 게임 엔진 작업, 로딩, 운영 체제 스케줄링, 화면 표시 과정 모두 관측되는 FPS에 영향을 줄 수 있습니다. Microsoft의 DirectX 프로파일링 지침에서는 CPU와 GPU 어느 쪽이든 가용 프레임 시간 예산을 초과할 수 있기 때문에 프레임당 CPU 시간과 프레임당 GPU 시간을 별도로 정의합니다.

목표 프레임 속도 프레임당 시간 예산
30 FPS 33.33 ms
60 FPS 16.67 ms
120 FPS 8.33 ms
144 FPS 6.94 ms
240 FPS 4.17 ms

1000 / ms 변환값은 측정된 단계의 상한입니다. 예를 들어 CPU 시간이 12 ms라면 약 83.33 FPS에 해당하고, GPU 시간이 7 ms라면 약 142.86 FPS에 해당합니다. 이 캡처에서는 CPU 쪽이 더 느리며 단순화한 상한은 약 83.33 FPS입니다.

허용 오차가 중요한 이유

서로 비슷한 프레임 시간을 확실한 결과인 것처럼 보고해서는 안 됩니다. 이 계산기는 절대 차이를 더 느린 프레임 시간과 비교합니다:

상대적 차이 = |CPU ms - GPU ms| / max(CPU ms, GPU ms) × 100

차이가 선택한 허용 오차 이내이면 이 캡처의 결과는 균형 상태이거나 판정하기 어려운 상태입니다. 허용 오차를 초과하면 프레임 시간이 더 긴 쪽이 현재 성능을 제한하는 쪽입니다.

CPU 시간 GPU 시간 상대적 차이 허용 오차 5%일 때의 결과
12.0 ms 7.0 ms 41.67% CPU 쪽 제한
6.0 ms 10.0 ms 40.00% GPU 쪽 제한
8.0 ms 8.3 ms 3.61% 균형 상태이거나 판정하기에 너무 근접함

이 비율은 하나의 작업 부하에서 두 시간 측정값이 얼마나 떨어져 있는지를 나타냅니다. CPU나 GPU 성능이 낭비되는 비율이 아니며, 하드웨어를 변경했을 때 얻을 성능 향상도 예측하지 않습니다.

재현 가능한 캡처를 만드세요

유용한 비교를 위해서는 작업 부하를 일정하게 유지해야 합니다. 다음 조건을 동일하게 맞추세요:

  • 게임과 엔진 빌드;
  • 저장 파일, 리플레이, 벤치마크 구간 또는 고정된 이동 경로;
  • 해상도, 렌더링 배율, 품질 프리셋과 그래픽 API;
  • 프레임 제한, VSync와 동적 해상도 상태;
  • 드라이버 설정, 전원 모드와 백그라운드 작업 부하;
  • 예열 시간과 캡처 시간.

짧은 샘플 하나만 믿지 말고 테스트를 여러 번 실행해 대표성 있는 통계를 비교하세요. AMD의 CPU 성능 지침에서는 테스트 장면과 무작위 시드 같은 변수를 고정할 것을 권장합니다. AMD의 Unreal Engine 지침에서는 진단 방법으로 해상도를 변경해 보라고 제안합니다. 렌더링 해상도를 크게 높여도 성능이 거의 변하지 않는다면 해당 작업 부하가 CPU 쪽 제한을 받는지 조사할 만한 근거가 됩니다. 하지만 이는 어디까지나 근거일 뿐 보편적인 판정은 아닙니다.

사용률만으로 입증할 수 없는 이유

사용률은 진단에 도움이 될 수 있지만 그 자체만으로 원인을 입증하지는 못합니다. 주 스레드나 렌더 스레드 하나가 완전히 포화된 상태에서도 전체 CPU 사용률은 높지 않아 보일 수 있습니다. GPU 사용률이 낮은 이유는 프레임 제한, CPU 대기, 동기화 또는 제출된 작업이 너무 적기 때문일 수 있습니다. GPU 사용률이 높다는 것은 장치가 바빴다는 의미일 뿐, 정확히 어떤 패스에 비용이 많이 들었는지 알려 주거나 업그레이드 결과를 예측하지는 않습니다.

타이밍 도구는 더 나은 맥락을 제공합니다. Intel PresentMon은 프레임과 GPU 원격 분석 데이터를 기록하고, NVIDIA Nsight는 CPU와 GPU 프레임 지속 시간 및 GPU 작업 부하 범위를 보여 주며, AMD Radeon GPU Profiler는 대기열 타이밍과 GPU 유휴 구간을 시각화합니다. 프로파일러의 임곗값조차 경험적 기준입니다. Radeon GPU Profiler의 CPU 제한 분류는 모든 엔진에 적용되는 법칙이 아니라 조정 가능한 GPU 유휴 임곗값을 사용합니다.

1% Low가 알려 주는 것과 알려 주지 못하는 것

1% Low는 프레임 시간 분포에서 느린 쪽 꼬리를 요약하므로 평균값에 가려질 수 있는 불규칙한 프레임 표시를 찾는 데 유용합니다. 하지만 느린 프레임의 원인이 CPU, GPU, 에셋 스트리밍, 셰이더 컴파일, 메모리 압박 또는 다른 지연 중 무엇인지는 알려 주지 않습니다.

정의도 서로 다릅니다. 어떤 보고서는 99번째 백분위수 프레임 시간에서 속도를 계산하고(1000 / p99 프레임 시간), 다른 보고서는 가장 느린 1% FPS 샘플의 평균을 사용합니다. NVIDIA Nsight Systems는 99번째 백분위수 프레임 길이를 그보다 긴 프레임이 전체의 1%뿐인 값으로 정의합니다. 결과를 비교할 때 사용한 도구와 정의를 기록하고, 서로 대응하는 CPU 및 GPU 프레임 시간 대신 1% Low 값을 사용하지 마세요.

보편적인 병목 비율이 오해를 부르는 이유

컴퓨터에 영구적으로 고정된 하나의 CPU/GPU 병목 비율은 존재하지 않습니다. 성능을 제한하는 작업은 게임, 장면, 해상도, 설정, 엔진 버전, 드라이버, 프레임 제한과 목표 프레임 속도에 따라 달라질 수 있습니다. 붐비는 도시 장면에서는 시뮬레이션과 드로 콜 제출의 부담이 커질 수 있지만, 렌더링 배율이 더 높은 다른 장면에서는 GPU 작업에 더 많은 시간이 걸릴 수 있습니다.

모델명만 사용하는 계산기는 이러한 조건을 관찰할 수 없습니다. 동일한 장면에서 실제로 측정한 타이밍 없이 제시된 “병목 23%” 같은 결과에는 일관된 기술적 의미가 없습니다. 이 계산기를 사용해 실제로 캡처한 상황을 설명하고, 중요하게 생각하는 작업 부하에서 테스트를 반복하세요. 원인이 된 구체적인 작업을 찾아야 할 때는 타임라인 프로파일러를 사용하세요.

공식 기술 자료

자주 묻는 질문

동일한 프로파일러 캡처와 장면에서 얻은 프레임당 CPU 시간과 프레임당 GPU 시간을 밀리초 단위로 입력하세요. 전체 사용률, 광고된 클럭 속도, 벤치마크 점수 또는 서로 다른 설정에서 수집한 타이밍은 입력하지 마세요.

아닙니다. 이 캡처에서 측정된 CPU 프레임 시간이 GPU 프레임 시간보다 길고, 그 차이가 선택한 허용 오차를 초과했다는 뜻입니다. 프레임 제한, 게임 설정, 백그라운드 작업, 부하가 큰 스레드 하나 또는 장면 자체에 따라 결과가 바뀔 수 있습니다. 더 광범위한 결론을 내리기 전에 작업 부하를 프로파일링하세요.

5%는 명확한 차이와 근접한 결과를 구분하기 위한 실용적인 출발점이지만 보편적인 표준은 아닙니다. 반복 실행 간 편차가 더 크다면 허용 오차를 넓히고, 미미한 차이를 분류하기 전에 여러 번의 캡처를 비교하세요.

아닙니다. 두 값은 화면에 표시된 프레임 성능의 서로 다른 부분을 요약하며 CPU 및 GPU 타이밍이 아닙니다. 서로 대응하는 CPU-ms와 GPU-ms 측정값을 사용하세요. 평균 FPS와 1% Low는 처리량과 프레임 시간 일관성을 살펴보는 별도의 참고 정보로 활용하세요.

해상도와 렌더링 배율은 일반적으로 CPU의 시뮬레이션이나 제출 작업보다 GPU 작업을 더 직접적으로 바꿉니다. 이를 높이면 더 긴 프레임 시간이 GPU 쪽으로 이동할 수 있고, 낮추면 높은 프레임 속도에서 CPU 쪽 제한이 드러날 수 있습니다. 새로운 결과는 새로운 작업 부하를 설명하는 것이며 앞선 결과와 모순되는 것이 아닙니다.

관련 도구