CNET Korea뉴스엔터프라이즈

애플 그래픽 라이브러리 메탈, 성능 차이는?

오픈GL ES 3.0의 3배 이상

애플 제품에 내장된 그래픽 라이브러리 ‘메탈’이 오픈GL ES 3.0보다 3배 이상 빠른 것으로 나타났다.

(씨넷코리아=권봉석 기자) iOS 8부터 도입된 그래픽 라이브러리인 메탈은 기존에 쓰였던 3D 그래픽 라이브러리인 오픈GL ES 3.0에 비해 프로세서에 가해지는 부하나 이 때문에 발생하는 병목현상은 줄이면서 성능은 높이는 데 도움을 주는 것으로 알려져 있다.

메탈은 아이폰5S, 혹은 아이패드 에어나 아이패드 미니2부터 쓸 수 있고 최근 정식버전이 나온 OS X 엘캐피탄 역시 메탈을 상당부분 도입했다. 특히 맥 컴퓨터용으로는 메탈로 개발한 3D 게임도 출시될 예정이다.

퓨쳐마크가 최근 공개한 ‘API 오버헤드 테스트’ 앱. 위 그림과 같은 건물을 계속해 그리며 한계를 테스트한다.

그렇다면 실제로 오픈GL ES 3.0과 메탈은 어느 정도 성능 차이가 날까. 벤치마크 소프트웨어 개발회사인 퓨쳐마크가 최근 공개한 ‘API 오버헤드 테스트‘ 앱을 이용해 확인해 봤다. 이 앱은 오픈GL ES 3.0과 메탈을 이용해 같은 화면을 3차원으로 그리면서 그래픽 API를 초당 몇 번이나 불러낼 수 있는지 측정한다.

API 오버헤드 테스트 앱을 아이폰6S에서 실행한 결과.

아이폰6S에서 이 앱을 실행한 결과 처음에는 두 라이브러리 모두 초당 60프레임으로 안정적으로 화면을 그린다. 하지만 오픈GL ES 3.0은 API를 초당 1만번 불러낸 시점부터 프레임 수가 급격히 떨어지기 시작해 절반 이하인 초당 25프레임으로 떨어진다. API 호출 수도 1만번으로 고정되어 병목현상이 나타나는 것을 볼 수 있다.

반면 메탈은 API를 초당 3만번 불러낸 이후부터 초당 프레임수가 조금씩 떨어져 절반인 초당 30프레임을 기록한다. 하지만 API는 오픈GL ES 3.0과 달리 초당 최대 4만번 이상 API를 계속해서 호출하고 있다.

API 호출 횟수. 최대 7배 이상 차이가 있다.

API 호출 횟수를 보면 오픈GL ES 3.0은 초당 27만 6천번, 메탈은 초당 147만번 호출해 7배 이상 차이가 난다. 다시 말해 아이폰용 게임은 오픈GL ES 3.0이 아닌 메탈로 만들면 같은 스마트폰에서도 더 나은 성능을 낼 수 있다는 의미다.

단 국내 출시되는 스마트폰용 모바일 게임은 안드로이드에서 먼저 개발하고 아이폰으로 옮겨 오는 경우가 많다. 한 게임을 두 플랫폼으로 개발하는 것도 쉽지 않은데다 한 쪽을 완전히 다른 라이브러리로 개발하는 것은 시간과 비용상 거의 불가능에 가깝다. 결국 어느 정도 시간과 비용에 여유가 있는 대형 개발사가 아니면 시도하기 힘든 일이다.

Tags

권봉석 기자bskwon@cnet.co.kr

소비자들이 꼭 알아야만 손해를 안 볼 정보가 무엇인지 항상 고민합니다. 숫자만 잔뜩 등장하는 알맹이 없는 이야기는 빼고, 고민하는 시간을 줄일 수 있는 정보를 보다 쉽게 전달하기 위해 노력하겠습니다.