모질라가 웹애플리케이션 처리에 중앙처리장치(CPU)뿐아니라 그래픽처리장치(GPU)의 힘까지 끌어들이는 기술을 도입하기로 했다. 모질라 파이어폭스 브라우저와 모바일 플랫폼이 고성능 웹앱 플랫폼으로 도약할지 주목된다.
지난 19일 미국 샌프란시스코 '게임디벨로퍼스컨퍼런스(GDC)' 현장에서 웹앱 실행을 위해 CPU와 GPU 성능을 함께 활용할 수 있는 기술 '웹CL(WebCL)' 표준 1.0 버전이 표준화 그룹인 크로노스그룹에 의해 소개됐다. 웹CL 확대를 위해 모질라가 총대를 메고 나서는 분위기다.
다른 브라우저 개발 업체들이 웹CL 표준을 채택한다면 개발자들은 브라우저에서 돌아가는 3D그래픽 처리를 위한 물리엔진, 실시간 동영상 편집도구, 시각화 처리 기술, 고급 필터를 사용한 사진 편집도구 등을 만들 수 있을 전망이다. 이는 브라우저 기반 서비스가 고성능 데스크톱이나 워크스테이션에서 돌려야 했던 설치형 소프트웨어를 대체할 수 있다는 것을 의미한다.
웹CL은 브라우저가 웹앱 실행 시 CPU뿐아니라 GPU에게도 일을 맡길 수 있도록 고안된 '애플리케이션 프로그래밍 인터페이스(API)' 표준이다. 앞서 크로노스그룹이 GPU에서 일반적인 앱을 돌리기 위해 만든 '오픈CL(OpenCL)'의 웹 플랫폼용 버전에 해당한다.
오픈CL와 웹CL은 둘 다 운영체제(OS)와 브라우저라는 플랫폼에서 CPU에만 맡겼던 앱 실행 작업을 GPU에게도 시키는 역할을 한다. 일종의 병렬처리다. 이론적으로 시스템 처리 성능을 높여 사용자가 체감하는 속도를 향상시킬 수 있다.
일반적으로 데스크톱이나 고사양 노트북 등 x86 기반 PC 환경의 경우 GPU에 의존하기 이전에 선택 가능한 수단은 여러가지가 있다. 성능이 아쉽다면 GPU 힘을 빌리지 않아도 될만큼 성능이 뛰어난 CPU를 쓰면 된다. 이게 어렵다면 앱 최적화를 통해 처리 속도를 높이는 방법도 있다.
그러나 브라우저 기반으로 돌아가는 웹앱에선 얘기가 달라진다. 웹앱 구동 속도는 통신 환경을 제외하면 기기와 브라우저 성능에 더 크게 좌우된다. 브라우저 성능은 특히 프로세서 사양이 제한적일 수 밖에 없는 모바일, 임베디드 기기에서 떨어진다. 웹CL 기술을 통한 개선이 실질적인 효과를 낼 수 있는 이유다.
그러나 현실은 만만치 않다. 일반 사용자들이 웹CL을 통한 웹앱 속도 개선 효과를 보려면 웹CL 표준을 따라 만들어진 웹앱과 이를 지원하는 브라우저가 필요하다.
브라우저가 웹앱을 실행할 때 GPU가 CPU를 지원하도록 하자는 아이디어는 참신해 보이지만, 업계 공감대는 형성되지 않은 듯하다.
미국 씨넷은 크로노스그룹은 웹앱이 그래픽칩(성능)을 훨씬 더 많이 사용할 수 있기를 희망하며 웹CL이라 불리는 API 1.0 버전을 공개했다며 하지만 대다수 브라우저 세계에서 웹CL은 큰 저항에 부닥쳤다고 지적했다.
웹CL을 둘러싼 분위기는 '웹GL(WebGL)'과는 많이 달라 보인다. 웹GL은 3D그래픽 처리를 빠르게 해주는 가속기술인 '오픈GL(OpenGL)'의 브라우저 버전 성격이다. 웹GL의 경우 브라우저 업체들의 지지를 확보한 상황이다.
PC와 안드로이드용 브라우저 대부분이 웹GL을 지원한다. 심지어 오픈GL과 경쟁하는 윈도 전용 그래픽API '다이렉트X'를 갖고 있는 마이크로소프트(MS)도 최신 인터넷익스플로러(IE)에선 웹GL을 지원하고 있다.
크로노스그룹은 오픈GL과 웹GL, 오픈CL과 웹GL 표준화를 주도한 곳이다. 브라우저 업체들은 웹GL 도입에는 적극적이었던 반면 웹CL 도입은 소극적이었다.
그런데 블라드 부키세빅(Vlad Vukicevic) 모질라 엔지니어링 담당 이사는 오픈GL이 성공적이었기에 웹GL도 성공적이었다며 개발자들로부터 오픈CL에 대한 실질적인 요구는 거의 없지만 파이어폭스 개발자들은 웹GL에 이어 오픈CL(웹CL) 채택으로 브라우저의 (영역) 확장을 바랄 것이라고 말했다.
씨넷 보도에 따르면 부키세빅 이사는 웹GL의 창시자다. 그에 따르면 오픈GL의 모바일 버전인 '오픈GL ES'라는 존재가 브라우저 업체들의 웹GL 도입을 도왔다. 일종의 촉매 역할을 한 셈이다. 오픈CL의 경우는 브라우저 업체들이 웹CL을 도입케 할 촉매가 없다. 웹CL의 미래가 아직까지 불확실해 보이는 이유다.
그리고 웹CL의 원판에 해당하는 오픈CL 기술조차 대중화되지 않은 단계로 보인다. 부키세빅 이사는 애플은 오픈CL 기술을 내부적으로 활용 중이지만 개발자들에게는 이를 노출하지 않고 있다며 개발자들로부터 오픈CL에 대한 실질적인 요구는 거의 없다고 언급하기도 했다.
또 iOS, 안드로이드, 윈도폰 내부 기술을 들여다보면 오픈CL과의 접점이 없는 상황이다. 경쟁이 치열한 모바일 플랫폼 기술 업계에서 다른 업체와의 공조 체제를 갖추는건 더욱 어려울 수 있다. 그래서 오픈CL을 채택하기로 한 모질라의 '독자행보'에 귀추가 더욱 주목된다.
모질라의 행보는 자체 모바일 플랫폼 '파이어폭스OS'의 역량을 키우려는 배경과도 무관치 않아 보인다. 파이어폭스OS는 웹앱 처리와 관련된 기술을 개선하는 게 플랫폼 경쟁력에 직결된다. 파이어폭스OS를 탑재한 스마트폰은 모든 앱을 웹기술로 구동하는데다, 초기 상용화 전략이 저가 저사양 단말기를 통한 시장 공략이었기 때문이다.
IT미디어 테크크런치에 따르면 웹CL 표준화는 지난 2011년부터 진행됐다. 모질라뿐아니라 구글, 오페라, 어도비 등 웹기술 업체와 삼성전자, 인텔, AMD, ARM, 엔비디아, 퀄컴 등 모바일 프로세서 기술에 투자해 온 업체가 참여했다.
어떤 회사도 이 기능을 언제부터 본격 상용화할 것이라고 공언하지 않았다. 하지만 분위기상 모질라가 스타트를 외칠 가능성이 높아 보인다. 모질라와 긴밀하게 협력 중인 삼성전자가 직접 웹CL 데모 영상을 통해 그 성능을 시연한 사례가 있고, 노키아는 파이어폭스28 버전에서 돌아가는 웹CL 구현용 확장기능을 만들어 배포 중이다.
▲ 2011년 삼성전자에서 공개한 웹CL 성능 시연 유튜브영상.
관련기사
- 구글판 액티브X 막을 대항마 납시오!2014.03.23
- MS, IE11서 웹3D 표준 '웹GL' 지원?2014.03.23
- "웹개발자도 쉽게"…새 양방향 3D표준 눈길2014.03.23
- MS-모질라, 웹3D표준 보안 논쟁 '불꽃'2014.03.23
파이어폭스에서는 웹CL과 자바스크립트 서브셋(축약판) 언어 'asm.js'를 활용해 상호보완적인 웹앱 성능 향상 효과도 볼 수 있다. 두 기술간 직접 연관은 없지만 asm.js는 파이어폭스에서 자바스크립트 실행 성능을 끌어올릴 수 있고, 웹CL은 자바스크립트API 형태로 사용되기 때문에 기대할 수 있는 부분이다.
크로노스그룹 회장 겸 웹CL 워킹그룹 좌장을 맡고 있는 닐 트레벳 엔비디아 모바일콘텐츠 담당 부사장은 asm.js 기반 자바스크립트는 파이어폭스에서 크롬의 '네이티브클라이언트'나 플러그인에 의존하지 않고 네이티브 수준으로 웹앱을 돌릴 수 있는 가장 빠른 방법이라며 asm.js와 웹CL은 상호보완적이라고 평했다.