CPU 및 GPU 부하
목차
PCBenchmarkX는 각 반복마다 고정된 작업량으로 합성 부하를 실행하므로, 서로 다른 시스템 간에 비교할 수 있습니다. 이러한 테스트에는 게임 녹화가 사용되지 않으며, 최종 수치는 “특정 게임의 FPS”와 같지 않습니다. 전체 측정 주기는 방법론에 설명되어 있습니다.
현재 엔진 0.5.2와 부하 phase4.6-dev-1이 적용됩니다. 버전을 염두에 두어야 합니다. 시나리오가 바뀌면 서로 다른 릴리스의 결과를 직접 비교할 수 없게 됩니다.
CPU: 객체 시뮬레이션
섹션 제목: “CPU: 객체 시뮬레이션”CPU 블록에서는 좌표, 속도, 플래그를 가진 65 536개의 객체가 생성됩니다. 각 단계마다 이동, 경계에서의 반사, 가시성이 다시 계산됩니다. 메인 스레드는 먼저 8 192개의 객체를 연속으로 처리한 다음, 나머지 부분을 워커 스레드에 넘기고 병렬로 준비 작업을 수행합니다. 그런 다음 스레드가 동기화됩니다.
워커 스레드 수는 다음 규칙에 따라 선택됩니다:
workers = clamp(physical_cores − 1, 1, 6)물리 코어 수를 알 수 없는 경우 논리 프로세서를 기준으로 추정치를 사용합니다. 스레드용 코어는 수동으로 고정되지 않습니다. 이러한 접근 방식은 모든 코어에서 전면적으로 병렬 실행하는 것이 아니라, 제한적인 도움을 받는 “단일 리드” 스레드 모델을 모방합니다.
객체의 상태와 순회 순서는 결정적입니다. 각 CPU 섹션 측정 전에 상태가 초기화되고 채점 외 512개의 준비 프레임을 수행하여 이전 실행의 잔여 상태가 시리즈에 끌려 들어가지 않도록 합니다.
부하의 결정성이 실행 시간이 동일하다는 것을 의미하지는 않습니다. 주파수, 온도, 스케줄러, 백그라운드 프로세스는 계속해서 측정에 영향을 미칩니다.
세 가지 GPU 부하
섹션 제목: “세 가지 GPU 부하”GPU 부분은 Direct3D 12를 통해 작동합니다. 내부 작업 텍스처는 창과 바탕 화면 크기에 관계없이 고정 크기 1920×1080을 가집니다.
| 부하 | 연산 작업 | 구분에 도움이 되는 것 |
|---|---|---|
| Geometry | 9 216개 인스턴스로 장면 6회 렌더링 및 후처리 2회 패스 | 기하 처리와 그래픽 작업 공급 |
| Shader | 장면 1회 렌더링, 후처리 16회 패스, 셰이더 복잡도 매개변수 24 | 픽셀 및 텍스처 부하 |
| Compute | 그리드 1920×1080, 그룹 8×8, 96회 반복의 정수 연산 | 컴퓨트 셰이더 실행 |
| Combined | CPU 시뮬레이션과 고정 그래픽 파이프라인 | CPU, 드라이버, GPU의 협력 작업 |
이들은 작업량이 다른 개별 시나리오입니다. 예를 들어 Compute의 8 000 조건부 프레임을 게임의 8 000 FPS로 읽거나 Geometry의 800 프레임과 직접 비교할 수 없습니다. 통합을 위해서는 점수 계산에 설명된 시나리오별 정규화가 적용됩니다.
부하는 이식 가능한 기능 수준으로 작성되었습니다: shader model 5.0 및 feature level 11_0, 벤더 확장 없음. 동일한 코드가 특정 벤더를 위한 별도 분기 없이 여러 세대와 제조사의 그래픽 카드에서 실행됩니다.
측정 후 엔진은 각 GPU 부하의 출력을 검사합니다: Geometry, Shader, Compute, Combined 및 로드된 지연 테스트에 대해 결과의 작은 조각의 예상 형태인 제어 시그니처가 고정되어 있습니다. 완료 후 읽은 조각은 예상과 비교되며, 불일치는 부하가 잘못 실행되었음을 의미하고 실행을 부적합하게 만듭니다. 검사는 채점 측정 후에 수행되며 수치 자체에는 영향을 미치지 않습니다.
이 세트에는 디스크 속도와 RAM 대역폭의 개별 테스트가 없습니다. 메모리와 드라이버는 부하 실행에 영향을 미치지만, 벤치마크는 SSD와 RAM의 개별 평가를 계산하지 않습니다.
블록 반복
섹션 제목: “블록 반복”다섯 가지 성능 부하는 순서를 재배열하여 세 라운드로 수행됩니다:
| 라운드 | 순서 |
|---|---|
| 1 | CPU → Geometry → Shader → Compute → Combined |
| 2 | Shader → Compute → Combined → CPU → Geometry |
| 3 | Combined → CPU → Geometry → Shader → Compute |
각 부하의 순서상 위치는 라운드마다 바뀝니다. 이는 비교에 미치는 영향을 줄입니다. 워밍업은 여전히 결과를 바꿀 수 있으므로, 블록에 대해 실행 속도의 분산과 첫 번째 블록에서 마지막 블록으로의 변화가 추가로 저장됩니다.
시나리오 평가에는 해당 블록 세 개의 산술 평균 throughput이 사용됩니다. 블록의 중앙값과 기하 평균은 추가 진단으로 볼 수 있지만, 최종 지표는 여전히 이 평균에 남아 있습니다.
낮은 해상도가 기본 테스트를 완화하지 않는 이유
섹션 제목: “낮은 해상도가 기본 테스트를 완화하지 않는 이유”CPU, GPU 및 Combined 부하는 화면 버퍼 외부에서 수행됩니다. 이들의 명령 제출 경로는 Present를 호출하지 않으며 표시 큐 제한을 기다리지 않습니다. 내부 텍스처는 바탕 화면이 800×600으로 전환되어도 1920×1080으로 유지됩니다.
인터페이스와 지연 테스트는 별도의 출력 경로를 통해 작동합니다. 따라서 바탕 화면 해상도를 바꾸는 것 자체만으로는 부하가 완화되지 않습니다. 그럼에도 어떤 해상도에서든 “절대적으로 동일한” 결과를 읽을 수는 없습니다: 출력 구간에는 드라이버와 시스템의 현재 상태가 관여합니다.
1920×1080, 1280×768 및 800×600을 사용한 실제 검증은 반복성 문서에 나와 있습니다.
설명된 구현에 대해 검증됨: 2026-09-20.
