결론 및 종합
앞서 소개한 녹화 방식에 따라 차이를 비교해보기로 한다.
레인보우식스 시즈의 벤치마킹 기능을 이용했다. 그래픽 옵션은 프리셋 최상에, 텍스처는 Very High, 안티앨리어싱과 텍스처 필터링은 끈 상태로 진행했다. 인코딩은 6000kbps로 설정했다.
GPU는 소수연산에 효율적이기 때문에 그걸 강조하기 위해 전력소비도 비교해봤다. 전력소비는 소프트웨어 기반이기 때문에 정확하지 않을 수 있다.
게임 플레이
Time | CPU [%] | GPU [%] | FPS [FPS] | CPU Package Power [W] | GPU Chip Power [W] | Power Combined |
---|---|---|---|---|---|---|
max | 61.3 | 100 | 157 | 62.268 | 149.082 | 206.956 |
min | 20 | 87 | 90 | 46.378 | 123.465 | 174.619 |
avg | 44.3 | 99.84 | 120.03 | 54.70 | 135.54 | 190.24 |
CPU사용량은 최대 61%, 평균 44%이다.
FPS는 최대 157FPS, 최소 90FPS이고, 평균은 120FPS이다. 편차는 60FPS.
CPU와 GPU의 최대 전력소비량은 207W이다.
게임 플레이 + CPU 인코딩
Time | CPU [%] | GPU [%] | FPS [FPS] | CPU Package Power [W] | GPU Chip Power [W] | Power Combined |
---|---|---|---|---|---|---|
max | 79.5 | 100 | 144 | 82.233 | 145.098 | 225.527 |
min | 32.6 | 88 | 88 | 64.547 | 127.582 | 198.656 |
avg | 60.3 | 98.79 | 112.25 | 73.78 | 134.08 | 207.86 |
CPU사용량은 최대 80%, 평균 60%이다. 인코딩을 하지 않을 때에 비해 평균값은 16%차이, 최대는 19%가까이 차이난다.
FPS는 최대 144FPS, 최소 88FPS, 평균 112FPS이다. 녹화하지 않을 때보다 8FPS정도 떨어진다. 편차는 56FPS.
최대 전력소비는 225W이다. 18W차이이고, 10%가 늘어난 것이다.
게임 플레이 + GPU 인코딩
Time | CPU [%] | GPU [%] | FPS [FPS] | CPU Package Power [W] | GPU Chip Power [W] | Power Combined |
---|---|---|---|---|---|---|
max | 88 | 100 | 141 | 66.048 | 143.406 | 200.306 |
min | 18.7 | 87 | 88 | 50.234 | 128.52 | 182.815 |
avg | 49.36 | 99.22 | 111.54 | 56.33 | 135.86 | 192.18 |
CPU사용량은 최대 88%, 평균 49%이다.
FPS는 최대 141FPS, 최소 88FPS, 평균 111FPS이다. 프레임은 CPU인코딩에 비해 낮다. 편차는 53FPS.
최대 전력소비는 200W이다. 녹화하지 않을 때에 비해 오히려 줄어들었다.
뒤쪽에 그래프를 게시할 것인데, 녹화 때문에 프레임이 줄어드니 오히려 전력소비가 감소한 것으로 추측해 볼 수 있다.
게임 플레이 + NDI 전송
Time | CPU [%] | GPU [%] | FPS [FPS] | CPU Package Power [W] | GPU Chip Power [W] | Power Combined |
---|---|---|---|---|---|---|
max | 51.6 | 100 | 147 | 80.255 | 145.574 | 215.345 |
min | 13.7 | 90 | 94 | 32.769 | 131.828 | 169.890 |
avg | 39.22 | 99 | 119.33 | 54.938 | 139.67 | 194.60 |
CPU사용량은 최대 51%, 평균 39%이다. 평균값이 GPU인코딩과 별 차이 없다.
FPS는 최대 147FPS, 최소 94FPS, 평균 119FPS이다. 편차는 53FPS.
최대 전력소비는 215W이다. 다른 컴퓨터에서 인코딩을 해야 하니 결코 적은 수치는 아니다.
차트 비교하기
단순 게임 플레이
GPU사용량에 변화가 없이 안정적이다.
CPU사용량은 FPS에 따라 조금씩 변하고 있다. 13번째~41번째 스캔에서는 FPS에 따라 낮아지고, 거의 40%이하로 유지되고 있다.
CPU 인코딩
GPU사용량이 출렁이는 지점이 많다.
CPU사용량은 거의 60%대에서 변화한다. 갑자기 CPU 사용량이 떨어지는 지점은 인코딩 과부화로 영상 출력이 끊기는 부분이었다.
전체적인 FPS그래프가 인코딩을 하지 않을 때와 비슷하다.
GPU 인코딩
GPU 사용량이 출렁이는 지점이 많다. CPU 인코딩에 비해서는 적다.
65번째~75번째 스캔에서 CPU 사용량이 크게 증가한다. 위 표에서 GPU 인코딩 중의 CPU 사용량 최댓값이 88이어서 GPU 인코딩의 장점을 부각하지 못했다. 녹화 영상이나 게임 벤치마킹에서는 별 문제가 발견되지 않았다. 인코더가 불안정하거나 다른 프로세스가 갑자기 실행된 것일 수도 있다.
꼭짓점이 부드럽다고 해야할까, 전체적인 FPS 그래프가 좀 다르다.
NDI 인코딩
CPU 사용량이 다른 인코딩에 비해 안정적이다.
GPU 사용량은 자주 출렁인다. 하지만 다른 인코딩 방식처럼 크게 떨어지지 않는다.
결론
각각의 장단점이 있다. NDI는 리소스를 분산시킬 수 있지만 전체적으로는 가장 비효율적인 방법이다. 또한 좋은 네트워크 장비가 요구된다.
GPU는 전체적으로 CPU, GPU사용량에 큰 변화 없이 인코딩이 가능하다. 프레임 감소는 제일 크다.
CPU는 전력소비는 크지만, 대체로 안정적이다. FFmpeg라는 인코더가 안정적인 것도 있지만, CPU는 리소스 분배에 있어 비교적 여유롭기 때문이다.
1인미디어 시대, 게임방송, 나도 해볼까? part.1
1인미디어 시대, 게임방송, 나도 해볼까? part.2: OBS 설정
1인미디어 시대, 게임방송, 나도 해볼까? part.3: CPU 인코딩 설정
1인미디어 시대, 게임방송, 나도 해볼까? part.4 : 비교와 결론