미니 잡담: ANGLE 드라이버 관련 잡담 + 2400 잡담
- Section31
- 조회 수 517
- 2023.04.12. 20:29
엑시노스 2200에 쓰인 ANGLE 드라이버의 원류는 구글이 개발한 라이브러리 엔진인데,
OpenGL ES를 Vulkan 또는 Metal(애플의 그래픽 API)로 바꿔주는 라이브러리 엔진입니다.
현재 Vulkan으로 바꾸는 건 OpenGL ES 3.1 까지,
Metal로 바꾸는 건 OpenGL ES 3.0 까지 완료되었다고 합니다.
(아직 OpenGL ES 3.2[최신] 버전에 대응하는 것은 개발 중이라 알려져 있음)
그런데 비단 게임 같은 것을 할 때, GPU에도 많은 연산성능을 요구하지만,
GPU와 더불어 CPU에도 많은 연산성능을 요구하게 됩니다.
게다가 ANGLE을 바탕으로 한 GPU 드라이버는 제가 추측하기로는
OpenGL ES를 Vulkan으로 실시간으로 바꿔서 애플리케이션에 전달하는 같은데,
GPU도 그렇고 CPU에 더 많은 연산량을 요구하는 게 필연적일 듯합니다.
그래서 지극히 개인적인 의견이지만, 엑시노스 2400의 지금까지
루머 등으로 많이 알려진 스펙을 다시 보면...
- CPU: Cortex-X4 MP1 3.1 GHz + Cortex-A720 MP2 2.9 GHz + Cortex-A720 MP3 2.6 GHz + Cortex-A520 MP4 1.8 GHz
- GPU: Samsung Xclipse 940 ______ MHz / SP:TU:ROP = 768:48:32, (GP, PU, RA, RZ) = (1, 1, 12, 1)**
- 캐시 메모리: L3 8 MB, 시스템 ____ MB
** 비동기 컴퓨트 엔진(ACE; Asynchronous Compute Engine)이 있는지는 불명.
CPU가 무려 10개 코어인 게 수많은 이유가 있겠지만,
그 중 하나는 아무래도 ANGLE 기반 GPU 드라이버 구동 시
CPU에 걸릴 연산량을 고려한 것일 수도 있지 않을까 하는 생각입니다.
그리고 개인적인 의견이지만, L3도 8MB 할 거면 시스템 캐시도 넉넉하게 줬으면 하는 마음입니다.
2200 때 8MB였으니 2400은 아무리 못해도 8MB, 아니면 12~16MB 정도 줬으면 하네요.
이게, 명확히 실시간이라는 말은 없지만, 정황상 제가 추측하는 것은 그렇습니다.
한편으로는 ANGLE 사용 시의 단점이 몇 가지가 있다고 하는데,
때로는 에뮬레이션이 필요하기도 하다는 것이며, 퍼포먼스 오버헤드(overhead)가
애플리케이션의 프레임레이트를 감소시킬 수도 있다고 하기 때문입니다.
게다가 Vulkan의 특성상 OpenGL과 달리 파이프라인 하나 생성하려면 몇십 몇백줄의
코드를 써야 합니다(...).
3.2는 아직 대응이안되는군요
2400나오기전까지 대응되면좋겠네요