서든어택 2는 멀티 코어 지원 게임?

Posted by 콜라맛홍삼
2016. 8. 16. 14:16 소프트웨어

AotS(Ashes of the Singularity) 벤치마킹 자료를 가지고 비교해보려고 합니다.

일부 사용자들이 서든어택 2 멀티 코어 게임이고, 심지어 AotS 8코어 지원이라고 하던데,

조금 많이 혼란을 일으키는 용어가 아닌가 싶습니다.

 

 

저는 게임에서 사용하는 코어와 DX에서 사용하는 코어를 분류해서 보아야 하고,

실제로 게임의 성능에 영향을 미치는 것이 무엇인지 정리해 필요가 있다고 생각합니다.

그리고 DX에서 사용하는 CPU 비중을 많이 차지하는 DX9, 10 무조건 싱글 코어라고 생각합니다.

실제로 코어가 많아지는 것보다 코어 하나의 클럭이 성능을 좌우하는 게임이기 때문입니다.

 


그래프는 DX 11 DX 12 지원하는 AotS에서의 벤치마크입니다.

DX 12 그래프를 보시면 코어 7 코어 8 게임 코드는 보이지 않습니다.

게임 자체는 엄연히 6코어. 엄연히 나머지 코어는 윈도의 DX에서 사용하는 것입니다.

 

그럼 DX 11 볼까요?

DX 4코어만 지원하는 모습. 게다가 DirectX Driver 코어1 사용합니다.

만약 DX9, 10이라면? 그래서 모든 DX 관련된 것이 하나의 코어에만 할당 된다면?

 

이젠 기본 쿼드코어, 인텔 코어i 시리즈나 AMD FX/라이젠을 보나 가장 낮은 사양의 CPU도 2코어 4쓰레드입니다.

한마디로 코어수는 아무 것이나 굴러가는 주워와도 고작 4쓰레드 지원 게임은 코어 때문에 성능이 저하되는 일은 거의 없습니다.

DX9DX10에서는 멀티코어를 지원 지라도 게이밍 성능은 하나의 코어에 부하를 걸어버리는 DX Runtime DX Driver 의해 결정 될것입니다.

그렇다면 코어수와 코어 성능 무엇이 성능을 좌우할까요?

 

당연히 코어 성능이 중요하죠.

결국 DX 9 게임은 싱글 코어 게임이라고 말할 있습니다.

DX 9 게임은 코어수가 크게 문제 되지 않습니다.

현재 구할 수 있는 최소 사양인 4쓰레드 CPU 되도 DX 9 게임이 요구하는 멀티코어 조건은 충족합니다.

다시 말해 DX9 게임은 무조건 코어 하나의 성능만 보면 됩니다.


물론 DX 수준이 증가하면 상대적으로 코드가 중요해지죠.

하지만 DX 9 무조건 싱글 코어 게임입니다.

DX 9이면서 4 초과 쓰레드를 지원하는 게임 없습니다.

있어도 코어 수보다 코어당 성능이 중요합니다.

 

그리고 DX11 지원하는 오버워치가 최상옵션으로 하면 마우스 반응이 늦는 이유도 여기에 있지요.

주사율 60으로 카메라로 찍어보면 마우스 딸깍 거리는 소리에 비해 2~3 프레임이 늦습니다. 최소 13ms 지연이죠.

DX Driver 첫번째 코어에 부하가 걸리면서 지연되는 겁니다.

 

심지어 오버워치 마저도 코어 하나의 성능에 좌우 된다는 이야깁니다.

물론 최상옵션만 아니면 코어 수로 좌우 되지만요.

프레임 수는 90이 나오는데도 지연 됩니다.

FX에서도 90 프레임 나온다고 태클 걸어주진 말아 주세요.

저도 제온 1231v3에서 90프레임 나왔습니다. 그러고도 지연 된겁니다.


 

 

또한 멀티 코어 미지원 게임에서는 하이퍼쓰레딩을 성능이 향상되곤 합니다.

이유는 윈도가 core 0 core1 게임의 쓰레드를 할당해주지 않기 때문입니다.

하나의 게임을 core 0 core 1 할당할 경우, 하나의 코어가 게임 하나를 처리하게 됩니다.

그래서 윈도는 core 0다음에는 core 2 할당하게 됩니다.

 


문제는 윈도입니다.

그렇다면 윈도가 게임을 core 0 core 2 할당하면, core 1 아무것도 할당하지 않을까요?

아닙니다. 백그라운드 프로그램이 할당 됩니다.

물리적인 첫번째 코어가 게임과 다른 백그라운드 프로그램을 번갈아가며 처리하게 된다는 이야깁니다.

여기서 HT 사용시 성능에 저하가 발생합니다.

 

이미지가 확실하게 증명해줍니다.

AotS에서 사용된 DX12가 멀티코어를 미지원 하지는 않지만, 8코어까지만 지원하기 때문에 8코어에 HT 꺼져있을 , 성능이 증가함을 보여줍니다.

요즘이야 저 정도 차이지만, 싱글 코어만 지원하는 게임에서 싱글코어 하이퍼 쓰레딩은 성능 많이 하락시켰습니다.

물론 다른 프로그램을 많이 켜둬서 8코어 + no HT도 하나의 코어가 3번의 사이클 중 2번만 게임을 처리하고 번은 다른 프로그램을 처리하게 되면, 하이퍼 쓰레딩이 존재할 성능이 증가할 것입니다엄연히 하이퍼 쓰레딩은 디코딩 시간을 단축 시켜주는 기술이기 때문이죠.


다르게 말해 벤치는 벤치일 , 실제로는 하이퍼쓰레딩은 켜면 무조건(?) 우수합니다.

특히 저처럼 백그라운드에 10 이상의 프로그램을 켜두고, 부팅 완료 메모리 사용량이 3.9기가 가까이 된다면 말이죠.

제가 컴퓨터를 많이 혹사 시킵니다.^^

 

 

"멀티코어 지원"이라는 것을 "코어 수가 코어당 성능보다 성능에 주는 영향이 크다"라고 해석 해서도 안되며, "멀티코어 지원" 단순히 작업관리자의 CPU 사용량으로 판단해서도 안된다는 점입니다.

작업 관리자로 판단 하더라도, 하나는 50% 사용하고 다른 하나가 30% 밖에 안쓰는데도 멀티코어 지원이라 하기도 어렵구요.

것을 "멀티코어 지원하는 게임"이라 해도 이것은 결국 싱글 코어가 중요한 게임이라는 점은 확실하거든요.

이런 게임(실제론 코어 수보다 코어 당 성능이 중요한 게임)까지 멀티코어 지원이라고 묶어버리면서 코어 수가 많은 CPU가 그 게임에서 우수하다고 여겨서도 안되는 점이죠.

 

멀티코어 지원 게임이라는 단어가 코어수만 많으면 되는 게임이 되려면 좀더 까다로운 조건이 필요합니다.

적어도 멀티 코어지원 게임이라 함은 현재 4쓰레드 이상 처리 가능한 CPU 나오는 시점에서 최소 4쓰레드가 활동하며, 한쪽에 치중 되서 하나의 코어로 성능이 좌우되지 않아야 합니다.

그리고 덤으로.. DX 12 사용하면 어떻게 발로 만들어도, 최적화 엄청 열심히 DX 9 게임보다 멀티 코어 지원이 확실하다는 점도 눈여겨 봐야 합니다.

 

서든 2 코어 30개까지 지원한다 해도, DX9 32비트에다가 게임 로딩이 없어서 사람이 들어올때마다 보조 저장 장치에서 불러오는, 마치 보조 저장장치를 주저장장치 처럼 사용하도록 만든 시점에서 발적화의 끝판왕입니다.

어디에 300억원이 소비 되었는지 감이 안잡히네요.

게임 코드 짜는데도 돈 안쓰고, 그래픽 품질 향상에도 돈 안쓰고.

300억이 그렇게 작은 돈인 줄 몰랐습니다.

 

 

참고 : http://semiaccurate.com/2016/03/01/investigating-directx-12-cpu-scaling/


저의 티스토리 : http://chcola.net/

저의 티스토리 구독하기 : http://chcola.net/rss

Adsense