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



Posted by gamma0burst Trackback 0 : Comment 18

댓글을 달아 주세요

  1. addr | edit/del | reply 레이 2012.08.03 17:34

    한 번 돌려보고 싶은 앱이네요
    문제는 싱글코어 제품 밖에 없다는 거지만..

    • addr | edit/del Favicon of https://gamma0burst.tistory.com BlogIcon gamma0burst 2012.08.03 18:37 신고

      저는 2.1 돌렸다가 좌절했습니다.ㅋㅋㅋ
      결과가 너무 낮으니까 돌릴 맛이 안나요.

      그런데 2.5는 아직 스토어에서 검색이 안 되더라고요.

  2. addr | edit/del | reply lightspirit3 2012.08.03 20:10

    (오랜만의 댓글이네요..)
    2.5는 보니 안드로이드 3.0이상부터 지원이더군요..ㅠ pc로 직접 구글 스토어를 들어가보니..;

    어쨌거나 glbenchmark의 신뢰도(랄까..)가 상당히 높아진 느낌이네요..
    뉴패드도 저렇게 씹어먹는건 좋은데.. 3.0버전은 언제까지 동영상만..(?)

    여튼.. 일단 이 녀석은 t604와 같은 세대의 gpu들을 위한 벤치.. 정도인 건가요.

    뭐.. adreno 320은 어떻게 나올지 궁금하네요.. 근데 320은 대역폭이 어떻게 되는건지..

    • addr | edit/del Favicon of https://gamma0burst.tistory.com BlogIcon gamma0burst 2012.08.03 21:01 신고

      이런;; 3.0 부터라니... ㅡㅡ;;

      벤치마크는 요구하는 기술이나 성능이 미래지향적이어야하지요.
      3Dmark 처럼요.

      Adreno320은 단순히 생각하면 Adreno225 의 2배정도일듯한데, 이집트 HD 1080p 에서 성능병목이 어느정도라도 해결되는 수준의 스펙이라면 더 높게 나올지도 모르겠다는 생각도 듭니다.

  3. addr | edit/del | reply 감마님 2012.08.07 03:34

    1280 720해상도가 800 480해상도에비해 픽셀수가 2.4배가되는데 이게 그래픽 성능에 어느정도 영향을 미치나요? 정확히 반비례하나요?

    • addr | edit/del Favicon of https://gamma0burst.tistory.com BlogIcon gamma0burst 2012.08.07 04:21 신고

      해상도와 프레임(fps)관계가 사실 그렇게 정확하게 픽셀수에 비례하지는 않습니다.
      동일 프레임을 내려면, 고해상도에서는 더 높은 성능이 필요하고, 저해상도에서는 더 낮은 성능으로도 된다는 정도의 포괄적인 일반론이 적용되는 정도지요.

      이유까지는 정확히 모르겠지만,
      해상도 증가에 따라 늘어나는 데이터 처리량에 있어 CPU 병목, 버텍스 병목 등이 어느 수준의 데이터량에서 발생하느냐에 따라 달라지는듯 합니다.

  4. addr | edit/del | reply 감마님 2012.08.07 12:16

    한가지 더 궁금한게있는데요
    해상도가 늘어나 처리해야할 픽셀수가 더많아지면 더높은 성능을 요구할텐데 해상도가 높아지면 폴리곤성능도 더 높아져야하나요?

    • addr | edit/del Favicon of https://gamma0burst.tistory.com BlogIcon gamma0burst 2012.08.07 15:54 신고

      3D 객체를 어떻게 구성하느냐에따라 달라지겠지만, 기본적으로는 그렇습니다.

      같은 프로그램 내의 다른 해상도 설정에서 차이가 있는건 그런부분이니까요.

  5. addr | edit/del | reply 어! 2012.08.08 00:03

    오맵 4460이 4430보다 낮은데 머때문이죠?..

    • addr | edit/del Favicon of https://gamma0burst.tistory.com BlogIcon gamma0burst 2012.08.08 12:54 신고

      초기라서 그런지 테스트 결과가 왔다갔다 합니다.
      5% 이하의 차이는 그냥 오차범위정도로 생각하고 보는게 좋을듯.ㅋ

  6. addr | edit/del | reply 말리 2012.08.09 00:21

    근데 저벤치마크 결과항목중에 Fixed time이라는건 어떤 벤치인가요?

    • addr | edit/del Favicon of https://gamma0burst.tistory.com BlogIcon gamma0burst 2012.08.09 23:35 신고

      찾아보면 나올지모르겠습니다만, 현재로는 정확히 알수가 없습니다.
      돌려보면 대략적인 설명이라고 나올 것 같은데, ICS 지원기기가 없어서. ㅋ

  7. addr | edit/del | reply dgvv 2012.08.27 03:51

    아드레노가 2.5를 기반으로 점수가 높아지긴 했지만 게임구동력은 지금 많이 밀리네요 ㅠㅠ 아스팔트7 ㅠㅠ

    • addr | edit/del Favicon of https://gamma0burst.tistory.com BlogIcon gamma0burst 2012.08.27 16:02 신고

      시장을 쥐고있는게 SGX 계열이라 픽셀 성능 중심으로 갈 수 밖에 없는게 현실이니까요.

  8. addr | edit/del | reply 피노키오 2012.09.20 17:04

    정성껏 수시로 업데이트되는 방대한 자료에 감탄했네요.

    앱 개발할 때 정말 많은 도움이 되는 것 같습니다. 항상 번창하길 응원할게요^^

  9. addr | edit/del | reply ARM 2012.10.09 03:50

    그럼 시장을 쥐고 잇는것은 픽셀에 강한 sgx이니 그와 마찬가지로 당분간은 픽셀에 강한 말리가 adreno 보다 게임같은데서 더 높은 퍼포먼스를 보여줄수잇을까요???
    근데 말리400mp4 가 버텍스가 심각할정도로 안좋아서 픽셀이 좋아도 병목현상 때문에 프레임을 잘 못뽑아주던데 향후 안드로이드에서 mali400mp4가 어느정도나 더버틸수잇을까요????아그리고 지금mali400mp4 400mhz기준으로 픽셀성능이 현존하는 모바일 gpu중 어느정도 되나요??????adreno320이 픽셀연산이 mali400mp4보다 좋은가요????그건 부정할수 없는 사실인가요????앞으로 나올 mali-t604 를 adreno320 과 비교햇을때 전반적인 성능상 어느정도 차이가 나나요???

    • addr | edit/del Favicon of https://gamma0burst.tistory.com BlogIcon gamma0burst 2012.10.09 19:57 신고

      앱 제작사에서 많이 보급된 쪽에 최적화시킬테니 픽셀성능 위주로 가겠지요.
      아이폰이 SGX 계열이라는게 좀 크게 작용하겠고요.

      지금 Mali-400MP4 는 고클럭으로 버티는 형국인데, 하이엔드급이라면 앞으로 1~2년 정도겠지요.
      보급형이나 하위 라인업에서는 상당히 오래갈 것 같고요.

      Mali-400MP4 순수 픽셀 성능만보면 533MHz 기준으로 Adreno320 와 동급입니다.
      일부 SGX543MP 계열에는 안 되는데, 대부분 애플 제품.
      안드로이드에서는 최상위권이라고 봐도 됩니다.

      Mali-T604 는 이론적으로는 Mali-400MP4 보다 그렇게 크게 앞서지는 않는 것으로 보이는데, 실제 성능이 얼마나 이론 성능에 가깝게 나오는가(효율이 어떤가)가 관건이라고 봅니다.
      결국 현재로는 예측하기 어렵다는 얘기.