※ 이 글은 오가사와라 히로유키(小笠原博之) 씨가 블로그에 적은 글을 번역한 것입니다. 사정에 따라 예고없이 삭제될 수 있으므로 양해부탁드립니다.

OpenGL ES 2.0 Adreno 330, Tegra 4의 GPU 속도

(원문 : OpenGL ES 2.0 Adreno 330, Tegra 4 の GPU 速度)

벤치마크 결과를 갱신했습니다.

Android 4.1 이후 및 대응하는 디바이스에서는 SwapInterval을 0으로 변경해서 60fps 이상 나옵니다. (관련글)

GPU            SoC   CPU clock OS    Screen     fps       pix/sec
---------------------------------------------------------------------
Adreno 330     MSM8974 2.2GHz  A4.2  1920x1200  71.98fps   165.8M
Adreno 320(64) APQ8064 1.5GHz  A4.4  1920x1104  40.97fps    86.8M
Mali-T604     Exynos5D 1.7GHz  A4.4  2560x1504  20.73fps    79.8M
ULP GeForce(72) Tegra4 1.8GHz  A4.3   1126x800  44.58fps    43.4M
ULP GeForce(12) Tegra3 1.2GHz  A4.4   1280x752  15.70fps    15.0M (*1)

*1: Shadow Map 없음, 16bit depth

Adreno 330은 예상 이상으로 빨라서, Adreno 320과 비교해도 약 2배 정도의 속도를 냅니다. 드디어 가장 부하가 높은 설정에서도 Full HD(1920x1200)에서 60fps를 넘게 되었습니다.

그에 비해 Tegra 4는 그다지 속도가 늘지 않았습니다. 부하를 낮춰도 속도가 올라가지 않으므로, SwapInterval 설정이 효과가 없던지 뭔가 문제가 발생했을 가능성이 있습니다.

그 대신 Tegra 3에서 생략되었던 여러 extension을 지원하여 렌더링 결과가 다른 GPU와 거의 일치하게 되었습니다.

특히 GL_EXT_shadow_samplers는 그냥 Hardware ShadowMap이 아니라 PCF에 제대로 Bi-linear Filter도 걸립니다. GL_EXT_shadow_samplers는 OpenGL ES 3.0 이후의 디바이스는 전부 대응하고 있지만, 반드시 Filter가 걸리는 것은 아닌 듯 합니다. 아래는 몇가지 테스트한 결과입니다.

                               depth-tex sh-samplers PCF Filter
----------------------------------------------------------------
8064 Adreno 320 OpenGL ES 3.0      ◎        ◎      ◎   --
8064 Adreno 320 OpenGL ES 2.0      ◎        --      --   --
Mali-T604       OpenGL ES 3.0      ◎        ◎      ◎   ◎
Tegra 4         OpenGL ES 2.0      ◎        ◎      ◎   ◎
Tegra 3         OpenGL ES 2.0      --        --      --   --
iOS PVR 543MP3  OpenGL ES 2.0      ◎        ◎      ◎   ◎
Vivante GC4000  OpenGL ES 2.0      ◎        --      --   --
Mali-400MP4     OpenGL ES 2.0      ◎        --      --   --
PowerVR SGX540  OpenGL ES 2.0      ◎        --      --   --

이쪽에 관해서는 조금 더 자세하게 조사할 생각입니다. 또 Tegra4의 Extension 상세사항은 다음 페이지에 추가했습니다.

관련 페이지

+ Recent posts