본문 바로가기

게임

Arma3 최적화 - 램메모리 오버클럭

 

요즘 아르마3를 하고있는데 이 게임은 성능 최적화에 대해 말이 많다.

cpu를 유별나게 타는 게임인 것 같은데 최적화 관련 글들에 cpu bottleneck, gpu bottleneck이란 말이 많이 보인다. cpu와 gpu의 사용률이 좋지 못하다.

사용률이 30~40% 대로 떨어지는 경우도 있다. 전투가 시작되기 직전 cpu가 ai의 복잡한 행동들을 계산하게 되는데 ai가 많을수록 cpu계산을 잘게 쪼개듯 하게되서 그런듯하다.

cpu사용률이 낮아지다보니 gpu도 덩달아 사용률이 떨어지게된다. 결과적으로 gpu가 처리해줘야 하는 화면 업데이트가 늦어져서 cpu 사용률도 저조하고 gpu 사용률도 반토막나게되는 일도 있다고 한다.

프레임레이트가 게임이 버벅일 정도로 불평하는 사람들도 많다.

 

 

아르마3 최적화 문제는 게임 예전 시리즈부터 있었던 증상이라고 하는데 제작사가 게임 엔진을 대대적으로 바꾸지 않는한 어쩔수없는 부분이라고 하고, 다른 FPS와 다른 유연하고 자율적인 ai를 구현하면서 그래픽도 좋게할려면 어쩔 수 없는 선택이라고 한다.

에디터에서 ai들을 적군, 아군 잔뜩 집어넣고 플레이하면 시가지 진입 후 교전이 시작되려는 즈음 평상시 40~50이던 fps가 20대로 떨어지면서 많이 버벅인다.

 

 

국내에는 아르마3 최적화에 관한 글들이 별로 없어 해외 게시판을 뒤져봐도 별달리 근본적인 해결책은 없다.

cpu, 그래픽카드, 램 등의 하드웨어 업그레이드 > SSD나 램디스크 활용 > 게임내 그래픽 설정 최적화 > 시작옵션 파라미터(startup parameter) 추가 등으로 나아질 수 있다.

 

램메모리 오버클럭으로도 끊기고 버벅이는 것을 줄일 수 있다.

램오버클럭이 잘되면 cpu, gpu 사용률과 fps는 큰 변화는 없지만 장치간 지연과 병목현상을 줄여 부드럽게 움직이고 반응하는 화면을 볼 수 있다.

 

# 컴 사양:

3570k cpu 4.3오버클럭/ asrock z77 extreme4 메인보드/ geforce 560ti 노오버/ 8g ram

 

램오버클럭을 해본 결과 의외로 체감성능이 크게 좋아진다. 프레임레이트는 비슷한데 훨씬 부드러워지고 ai가 많은 상황에서는 fps가 소폭 상승하기도 한다.

아르마3같이 CPU가 중요한 게임들에서는 램오버클럭이 게임 성능에 큰 영향을 준다고 한다.

 

램오버클럭은 예전부터 간단하게 클럭과 많이 검증된 타이밍값만 바꿔서 사용 중이었는데, 이번에는 tRFC 와 tREF 값을 바꿔봤다.

tRFC 와 tREF 두 값은 램의 읽고, 쓰고, 복사하는 성능을 높여준다고 한다.

 

- 램타이밍 벤치마크. 램타이밍 8종 끝장 분석:

- http://udteam.tistory.com/192

- http://udteam.tistory.com/185

- 각 메모리 타이밍 수치 항목별 벤치값의 차이에 관하여:

http://blog.naver.com/PostView.nhn?blogId=ssan664&logNo=10151065078

- 메모리의 Trfc 값. 알면 돈 법니다:

  http://gall.dcinside.com/board/view/?id=pridepc_new3&no=185560&page=

 

 

제일 위에 링크된 벤치마크 결과를 보면 tRFC(Refresh Cycle Time) 와 tREF(Refresh Period) 가 성능에 영향을 많이 준다는 것을 알수 있다.

램오버클럭은 기본적으로 클럭이 성능에 가장 영향을 주고 타이밍값들은 영향이 미미하다고 알고 있었는데 꼭 그런 것만도 아닌듯하다.

 

** 주의: 오버클럭은 사전 지식을 갖고 할 것을 권장.

△ 바이오스에서 DRAM 세부설정 하는 곳으로 들어가면 tRFC 와 tREF 값을 설정할 수 있다.

asrock z77 extreme4 보드 바이오스의 DRAM Configuration 항목으로 들어간 화면이다. (화면에 보이는 설정값들은 무시)

바이오스는 PC전원을 켠 후 윈도우 로딩 화면이 나타나기 전에 메인보드 제조사가 지정한 키를 눌러 들어갈 수 있다. 보통 Del키나 F11, F8 키로 지정되어있다.

 

일단 바이오스에서 램클럭을 시스템이 안정적으로 작동하는 최대치까지 올리고 9-10-10-24-1T 같은 타이밍 값을 적당히 설정한 다음, tRFC 와 tREF 값을 설정했다.

 

값은 아래와 같이 구하면된다. (ddr3 pc12800 기준)

 

tRFC 값:

 

1600mhz Auto 기본값 = 128

 

2200mhz 오버클럭 시 Auto 기본값 = 176

 

(1600/128 = 2200/176 = 12.5 = 기본 divide 단위)

오버한 tRFC 값 = 2200/25 = 88

(88로 설정해서 사용하는 사람들도 많은듯하다. 88로 사용하다 사용 이틀 째 에러가 발생해 값을 120으로 올리고 사용중)

 

* tRFC 값은 낮을수록 성능이 올라감. tRFC 값은 정확히 보장이 되는 값이 정해져 있는 것은 아님. 적절한 범위에서 적당한 정수값 가능.

 

tREF 값:

 

+ divide 단위 = 1.95us, 3.9us, 7.8us, 15.6us

 

클럭값/2 x divide단위 = tREF값

 

1600mhz Auto 기본값 = 6240 = 1600/2 x 7.8

 

* (Asrock Z77 ex4 메인보드는 7.8us 를 기본으로 잡고 있었음)

 

2200mhz 오버클럭 시 Auto 기본값 = 8580 = 2200/2 x 7.8

 

2200/2 x 15.6 = 17160 --> 부팅 안됨

 

2200/2 x 1.95 x 5 = 10725 --> 시스템이 빠릿하고 안정적으로 돌아가는듯 했으나 이전에는 없던 사소한 오류들이 가끔 생김. 결국 Auto값인 8580 으로 복귀.

 

* tREF 값은 높을수록 성능 향상.

 

 

이상과 같이 tRFC 값을 120 으로 줄여주고 안정적으로 작동하라고 dram voltage 를 1.62v 정도 줬다. (1.65까지는 안전)

 

altis맵 카발라시에 적군, 아군 합쳐서 300명 정도 잔뜩 집어넣고 일일이 웨이포인트 경로 다 지정해주고, 몇가지 스크립트도 추가한 다음 테스트했다.

시가지에 진입해 교전이 일어날 즈음 gpu 사용률이 떨어지는건 여전했지만 버벅거림이 확실히 줄어든다.

특히 시나리오 싱글미션의 중대(中大)규모 교전에서 버벅거리던 증상이 사라지고 부드럽게 플레이되는 것이 체감된다.

 

조만간 있을 공식 업데이트 패치에서는 성능 최적화와 관련된 패치가 있을 모양인데 메모리 사용에 관한 패치라고 하니 제작사가 게임엔진의 결함을 메모리 패치로 보완하려는 것 같다.

아무튼 좀 버벅인다싶으면 램오버클럭(특히 읽고 쓰고 복사하는 성능값 tRFC)하는 것도 도움이 된다

 

 

▪ 그 외 Arma3 최적화 참고 링크:

Arma3 최적화 팁 종합

- Arma3 와 램디스크 설정