본문 바로가기
스마트폰/소프트웨어 SOFT APP

GLBenchmark 2.5 등장 : GLBenchmark 2.1 에서의 변화점.

by gamma0burst 2012. 8. 2.

http://www.glbenchmark.com/index.jsp



GLBenchmark 2.1 은 OpenGL 기반 GPU 성능 테스트 애플리케이션입니다.
Offscreen 모드를 통해 제품마다 해상도가 다르다는 변수를 해결한 유일한(맞나?) 벤치마크 앱으로,
GPU 성능의 절대 평가가 가능한 유일한 앱이라고 볼 수 있습니다.

720p 해상도를 지원했지만, 폭발적으로 향상되는 GPU 성능으로 인해 수직동기화 프레임(60fps)을 넘어서는 GPU가 많아졌습니다.
게다가 720p 이상의 고해상도를 지원하는 제품들이 속속 출시되기도 했습니다.
또한 픽셀성능 위주의 프레임 산출방식으로 인해 버텍스 성능을 제대로 반영하지 못하는 문제도 있었습니다.
GLBenchmark 2.1 의 벤치마크앱으로서의 수명이 다해간겁니다.

이런 문제들을 개선한 것이 GLBenchmark 2.5 입니다.

홈페이지 자체도 이미 GLBenchmark 2.5 기준으로 운영되고 있습니다.
테스트 결과를 보려고 들어가면 GLBenchmark 2.5 가 메인으로 뜨지요.

- 지원 OS : 안드로이드 3.0 (허니컴) 이상.
허니컴은 태블릿에나 들어가고 있는 상황이니 사실상 안드로이드 4.0 (ICS) 지원 기기에서나 테스트가 가능한 상황.
- 각 모드별 설명.
 Egypt Classic : OpenGL ES 2.0 기반, 16 bpp(bit per pixel) color, depth buffers 지원.
 Egypt HD : GLBenchmark 2.1 이집트의 업그레이드 버전, 1080p에 최적화되어있음, OpenGL ES 2.0 기반
Egypt HD 에는 두 가지가 있는데 각각 C24Z16, C24Z16MS4 로 생각됩니다.
C24Z16MS4 : 24 bpp(bit per pixel) color, depth buffers 지원, 4x anti-aliasing
C24Z16 : 24, 16 bpp(bit per pixel) color, depth buffers 지원

공식 홈페이지에서 밝히는 변화점은 위와 같지만, 크게보면 변화점은 두 가지 입니다.
(GLBenchmark 2.5 도 OpenGL ES 2.0 기반 테스트입니다.)

1. 1080p offscreen 모드 지원.
2. 버텍스 성능 반영 비중 상승.

테스트 결과 화면을 보겠습니다.


다양한 모드가 있지만 제일 중요한건 Egypt HD C24Z16 Offscreen 입니다.
(맨 위에 있는건 괜히 그런게 아니지요.)

C24Z15MS4 와 C24Z16 의 차이는 잘 모르겠네요. 설명해주는 사이트도 없고.



Low Level 3D 테스트 결과는 매우 간소화되었습니다.
Overall Performance 가 1.1 에서 2.1 로 오면서 간소화되었는데, Low Level 3D 항목은 이제서야 그렇게된듯.


(출처 :
http://www.anandtech.com/Gallery/Album/2195#14)
사이트의 테스트 결과에서는 frame 단위로 표시하지만, 실제 테스트를 돌려보면 fps도 표시됩니다.
(캡쳐에서는 맨 밑에 짤려서 나오지요.)

frame보다는 fps 단위가 더 현실성있지요.

변환비율은 모르겠지만, 1445 frame = 13 fps 라는건 어느정도 참고가 됩니다.


아직 표본이 부족하지만 사이트에 올라온 결과들을 정리해보았습니다.
(2012년 8월 1일 기준)


프레임으로 나온 결과입니다.
이걸 1445 rame = 13 fps 기준으로 fps 단위로 변경하겠습니다.

이것을 놓고 GLBenchmark 2.5 테스트 성향을 분석해보겠습니다.

중간중간에 GLBenchmark 2.1 과의 비교가 있을텐데, 이 결과는 다음 포스트를 참고하시면 됩니다.
(
모바일 GPU 성능 비교 v12.8)

현존 최고의 성능을 보이는 뉴아이패드가 30 fps 이 안 됩니다.
1080p 라는 고해상도 기반인 것도 이유가 되겠지만, GLBenchmark 2.1 720p offscreen 결과와 비교해봤을 때, 테스트 자체가 무거워졌다고 봐야합니다.
(뉴아이패드 기준으로 픽셀 수가 3.8배정도 증가한데 반해, 프래임은 대략 1/6 로 떨어졌습니다.)
이걸로 좌절마크라고 하는 것도 좀 그렇습니다.
최신 벤치마크 툴이 당대 최고 성능의 제품은 씹어먹어줘야 향후 몇년은 써먹을 수 있지 않겠습니까?ㅋ

다른 특징으로는 상대 비교에 있어서 테그라3, Adreno 계열이 크게 순위가 높아졌습니다.
다르게 보면 SGX5 계열, Mali-400 계열이 낮아졌다고 볼 수도 있습니다.

이것은 GLBenchmark 2.5 테스트에서 버텍스 성능 요구가 커졌다는걸 의미합니다.
테그라3 의 쉐이더 구성은 4버텍스 + 8픽셀 이고,
Adreno 계열은 통합쉐이더지만 전통적으로 버텍스 성능이 굉장히 높았습니다.
이 둘이 높은 결과를 냈다면, 버텍스 성능 비중이 이전에 비해 높아졌다고 봐야합니다.

Mali-400 계열은 쉐이더 구성이 1버텍스 + 4픽셀 이고,
SGX5 계열은 통합쉐이더지만, Adreno와 다르게 픽셀 성능에서 우위를 보여왔습니다.
테그라3, Adreno 계열이 높은 결과를 내지만, 그렇다고 Mali-400 계열, SGX5 계열이 몰락할 정도로 떨어지지도 않았습니다.
이것은 GLBenchmark 2.5 가 픽셀 성능의 비중을 극단적으로 낮추지도 않았다는걸 의미합니다.
과도기적인 형태라고도 볼 수 있습니다.

종합해보면 GLBenchmark 2.5 는 버텍스 성능의 비중을 올렸지만, 그 속에서 픽셀 성능의 비중도 어느 정도 유지해서 두 성능의 적절한 조화를 요구한다고 볼 수 있습니다.
현재 대다수의 앱이 픽셀성능 위주이지만, 벤치마크 툴이라는 것이 본래 근미래지향적인 성향을 띄어야하기때문에 이런 비중은 적절한 수준이라고 생각됩니다.

통합쉐이더라는 것이 하나의 쉐이더에서 픽셀, 버텍스를 모두 처리(동시 처리는 아님)할 수 있기때문에 그래픽 자원 활용에 있어서 더 유리하긴 합니다만, 이런 특징만을 놓고 버텍스, 픽셀 쉐이더가 분리된 구조보다 통합쉐이더가 더 높은 성능을 낼 것이라고 일반화하는건 무리입니다.
(사실 제조사들이 통합쉐이더로 넘어가는 이유는, 이러한 그래픽 성능의 이점보다는 GPGPU와 같은 병렬 연산 지원 목적이 더 큽니다.)

두 가지를 모두 처리할 수 있다는건 먼저 들어오는 것을 먼저 처리한다는 것이고,
GPU의 연산 과정상 대게 먼저 들어오는 것이 버텍스 데이터입니다.

여기서 그래픽 자원, 즉 통합쉐이더 수가 부족하면 문제가 발생합니다.
버텍스 데이터를 처리하는데 모든 그래픽 자원이 동원되어서, 타이밍에 맞춰서 처리되어야 할 픽셀 데이터를 처리할 그래픽 자원이 부족해집니다.
픽셀 데이터를 처리하지 못하면 결국 출력할 수 없기때문에 프레임은 없다고 봐야합니다.

경우에 따라서는 동일 쉐이더 수라도 버텍스, 픽셀 쉐이더가 분리된 구조보다 통합쉐이더 쪽이 프레임이 더 안 나오는겁니다.

실제로 이런 경우가 ATI(당시엔 AMD)와 엔비디아의 초기 통합쉐이더 GPU 자주 드러났습니다.
주로 엔비디아의 저가형 제품, ATI는 일부 상위제품(!!)에까지 나타났는데, 이들의 공통점은 통합쉐이더의 절대적인 숫자가 부족했다는겁니다.
(여담입니다만, ATI는 이 때 뭐가 문제인지 못 잡아서 쓸데없이 메모리 성능만 비대화시키는 실수를 했지요.)

통합쉐이더 구조가 제대로 성능을 발휘하기위해서는 넉넉한 GPU 자원, 즉 쉐이더의 수가 충분히 확보되어야한다는걸 보여주는 사례입니다.

이런한 점은 GLBenchmark 2.5 에서도 보이는듯 합니다.
1080p Offscreen 에서는 Mali-400MP4 400MHz 와 Adreno225 가 13 fps 정도의, 동일한 수준의 결과를 보여주었습니다.
하지만 제품 해상도인 1280 x 720 에서의 테스트를 비교해보면 각각 13 fps, 20fps 정도로 Adreno225 가 높습니다.
이것은 1080p Offscreen 테스트가 요구하는 방대한 버텍스 데이터를 처리하는데 있어서 두 GPU가 극심한 병목현상을 일으켰다는 해석이 가능합니다.
통합쉐이더인 Adreno225 도 방대한 양의 데이터 처리에 있어서는 그래픽 자원, 즉 통합쉐이더 수가 부족했던겁니다.
상대적으로 버텍스 데이터 양이 적은 본래 해상도 1280 x 720 에서는 Mali-400MP4 400MHz 만이 병목을 일으켰던 것으로 볼 수 있습니다. 버텍스, 픽셀 쉐이더 분리 구조의 한계이지요.


물론 버텍스, 픽셀 데이터의 비중이 급격히 변화하는 상황에서 통합쉐이더가 갖는 유연한 자원 활용이 장점으로 작용한다는건 부정할 수 없는 사실입니다.


결론을 말하자면,
실제 성능에 있어서 중요한건 '버텍스, 픽셀 쉐이더 분리 구조냐, 통합쉐이더 구조냐' 가 아니라,
'순수하게 그래픽 자원이 얼마나 많은가.' 입니다.


종합해보면 다음과 같습니다.

1. GLBenchmark 2.5 는 GLBenchmark 2.1 에 비해 버텍스 성능의 비중을 높였으나, 픽셀 성능의 비중도 어느 정도 유지되고 있습니다.

2. 이러한 테스트 성향은 기존에 저평가되었던 Adreno 계열, 테그라3 계열의 성능을 제대로 반영하고 있으면, 기존의 강세를 보인 Mali-400 계열, SGX5 계열도 크게 손해를 보지 않고 있습니다.

3. 이런 점을 봤을 때, GLBenchmark 2.5 의 버텍스, 픽셀 성능 요구치의 균형은 아주 적절해 보입니다.

4. 통합쉐이더가 무조건 좋은 성능을 낼 것이라는 생각은 크게 잘못된 것입니다.
통합쉐이더도 한계를 갖고 있으며, 결국 그래픽 성능을 결정하는건 절대적인 그래픽 자원의 양 입니다.



댓글18