2009/07/20 13:46

비주류 OS의 장벽, 플래쉬 플랫폼

어도비(Adobe)는 사진 편집 소프트웨어인 포토샵으로 유명한 회사로, 많은 멀티미디어 컨텐츠 저작 도구들을 인수해왔습니다. 지금은 동영상 편집기인 애프터 이펙트, 웹 멀티미디어 플랫폼인 플래쉬, 표준 전자문서 형식인 PDF 등의 거의 모든 주류 컨텐츠 플랫폼 군을 갖추었습니다.

이러한 어도비의 플래쉬 플레이어는 대부분의 사이트에서 아주 사랑받고 있습니다. 한 조사 결과에 따르면, 포춘 상위 기업들중 80% 이상이 자사의 웹사이트에 플래쉬를 사용하고 있다고 합니다. 특히, 한국에서는 더더욱 빼놓고 생각할 수 없는 것이 바로 이 플래쉬입니다. 액티브 X가 안 돌아가도 브라우징은 그럭저럭 할 수 있지만, 플래쉬가 안 돌아가면 그야말로 답이 없습니다. 유튜브와 같은 웹 동영상은 물론, 대부분의 화려한 그림과, 심지어는 일부 사이트에서는 메뉴를 비롯한 중요 동작까지도 할 수 없습니다.

플래쉬는 아시다시피 아주 짧은 시간 간격으로(초당 수십 프레임) 매우 많은 멀티미디어 계산을 합니다. 그래서 고품질의 플래쉬를 저사양의 컴퓨터에서 재생하면 화면이 다 뚝뚝 끊길 정도죠. 멀티미디어는 대부분 소숫점으로 연산을 하는데, 이 소숫점 연산의 양이 지나치게 많아서 하드웨어 그래픽 가속 카드의 도움이 필요할 지경에 이르렀습니다. 멀티코어 CPU를 쓰게된 주 범인이 플래쉬라는 말도 있죠.

어도비 플래쉬 플레이어는 아주 깊은 수준의 최적화를 필요로하는 괴물로 자라났습니다. 마이크로소프트 윈도는 그래도 사정이 나은 편입니다. 애플의 맥 오에스가 파워피씨 CPU에서 인텔 CPU로 넘어왔을 때에는 기존의 프로그램을 호환층 위에서 동작시켰는데, 플래쉬 플레이어의 성능은 정말로 극악 그 자체였습니다. 당시에 꽤 높은 사양을 자랑하던 코어2듀오 2.0GHz 맥북이 네이버 첫 화면만 띄우면 버벅거려서 몇초를 기다려야 할 정도였으니까요. 다행히 어도비에서 인텔 맥에 최적화된 플레이어를 만들어주어, 이제는 쓸만하게 잘 돌아갑니다.

마찬가지로, 우분투 리눅스의 64비트 버전에서도 여전히 플래쉬 플레이어의 호환 문제가 있습니다. 유튜브의 동영상 몇개만 재생하면 플래쉬 플레이어가 죽어버립니다. 아주 강력한 쿼드코어 CPU에서 6기가 램을 썼는데도 플래쉬 플레이어가 버벅거리기도 합니다. 여전히 어도비는 리눅스 64비트 버전에 대한 지원을 제대로 하고 있지 않습니다. PDA를 비롯한 다양한 휴대기기에 들어가는 어도비 플래쉬 플레이어의 기능은 성능 최적화에 초점을 맞추었지만, 제대로 된 재생은 거의 불가능합니다. 다시 말해, 각 운영체제와 CPU에 대한 저수준의 최적화가 반드시 필요합니다.

이처럼 수 많은 OS에서 플래쉬 플레이어를 필요로 해왔지만, 어도비가 직접 손을 걷어붙이지 않는 이상, 쓸만한 플레이어를 갖기가 아주 힘듭니다. 어떠한 호환성 레이어에서 돌리는 플래쉬라도 정말 극악의 성능과 불안한 안정성을 보여줬습니다. 그리고 어도비의 플래쉬 플레이어 지원은 인기있는 윈도와 맥, 리눅스 32비트 버전 운영체제에 대해서만 제공할 정도로 아주 제한적이며, 늑장으로 대응하기까지 합니다.

한국의 국산 운영체제인 티맥스 윈도가 나온다면, 이러한 플래쉬의 장벽을 반드시 뛰어넘어야 최소한 웹 서핑이라도 제대로 할텐데요, 사용자가 늘어나기 전 까지는 어도비가 제대로 지원하지 않을 가능성이 아주 높습니다. 그렇다고 호환층에서 작동시키기에는 아마 문제가 많을 것이고요. 플래쉬 플레이어를 직접 제작하고자 했던 많은 프로젝트가 있었지만 그 완성도가 아주 낮아, 자체개발도 힘들어보입니다. 티맥스가 이러한 문제를 어떻게 풀어나갈지에 대해 주목해봅니다.

덧글

  • Sikuru 2009/07/20 14:23 # 답글

    티맥스사의 발표내용 대로라면 윈도우 XP와 완벽한 호환을 이룰 수 있을테니... 필요 없지 않을까요 ? ( -_-)
  • 최종욱 2009/07/20 14:29 #

    정말 그렇게만 된다면야 바랄 것이 없겠죠. ^^;
  • 써니 2009/07/20 17:29 # 답글

    플래시 포팅 문제는 운영체제 이식과는 별개의 문제인데요...
    플래시 플레이어는 윈도우 운영체제에 포함되어 있는게 아닙니다.
    어도비 사의 허락을 받지 않고는 어떤 플랫폼에서도 함부로 사용하지 못하는 상용 제품인데 말이죠.
    위 포스트에 언급된 운영체제 이외에는 공식적으로 라이센스 비용을 내고
    소스를 어도비에서 받아서 포팅해야만 합니다.
    함부로 리버스 엔지니어링이라도 하면 바로 대형 소송 걸리고 말걸요?

    모르고 주워 듣고 하는 얘기가 아니라, 플래시 플레이어를 임베디드 환경에 포팅하고
    튜닝하느라 gcc 컴파일러 최적화 옵션을 다 뒤적이고 사는 엔지니어로서 하는 말입니다.

    티맥스 실력을 못믿는게 아니라, 최종욱 님 지적하신대로 튜닝하기가 상당히 힘들어요.
    소스 자체도 많이 난해하게 되어 있어서, 뒤적거리다가 머리에 연기가 폴폴 나더군요.
  • 최종욱 2009/07/20 17:43 #

    맞습니다. 티맥스 윈도에서 그러한 '운영체제 밖에 있는 저작권이 걸린 컴포넌트들'을 어떻게 이식할지가 정말 이슈라고 봅니다. 오픈소스로 제작한 Gnash 등의 플래시 플레이어 대체 제품이 있긴 합니다만, 또 다른 저작권 문제도 있거니와 기능 구현이 완전하지도 않아서 말이죠.

    거대한 괴물이 되버린 플래시 플레이어를 포팅하신다니, 대단합니다. 이에 대해서는 저보다 훨씬 잘 아실텐데, 제가 괜히 아는 척 한 게 아닌가 싶습니다. ^^;
  • 써니 2009/07/20 17:45 #

    티맥스 분들도 단기간에 성과를 내기 위해서, 오픈 소스를 참고하고 계신다는 건 어느 정도 알려진 사실이지만...
    자꾸 오픈 소스에 기대는 정책을 유지하다가는 기술력을 인정 받지도 못하고, 별의별 해괴한 소송에 걸리고 말겠지요.

    아무튼 티맥스 분들 스스로 답을 찾아야 겠지만...
    글의 의도는 관전하는 입장에서 넓은 시야를 가지고, 편애하지도 말고, 편파적이 되지도 말자는 의도도 이해 했습니다.

    굿이나 보고 떡이나 먹어야할 상황이기는 하지만... 어설픈 기자들이 홍보자료 배껴쓴 기사 보다
    이런 내용이 조금이라도 관심을 가지는 사람들에게 도움이 되겠쬬. ^^;
  • 써니 2009/07/20 17:52 #

    -,- 대단한 일 하는 건 아닙니다. 포팅한다고 해도 엔진 소스를 수정할 권리 따위는 없으니까요.
    어도비에서 제공한 기술 문서를 읽고, 잘못 쓰면 안되는 것들, 기술적인 특성들을 파악해서
    플랫폼 마다 적절한 makefile 만들고, wrapper 소스 작성해서, 어플리케이션 구동하고,
    테스트하고, 오동작하면 어도비에 문의하는데 ... 거의 답은 없고... ^^;

    한가지 더 알려드리면, Windows에서 동작하는 플래시 어플리케이션의 기능이 100%라면...
    모바일, 임베디드 디바이스에서 동작하는 플래시 기능은 2/3 도 안될 겁니다.
    어도비 사는 모든 플랫폼에 포팅하려고 하지 않아요. 모바일 시장조차도 거들떠 보지 않습니다.
    아직은 돈이 안되니까요~! (아직은 말입니다.)

    거대 기업이 이러는데 티맥스 분들이 열정을 가지고 애쓰셔도... 쉽지 않다는 거죠.
    이것만큼 인정해야 합니다. 도전은 어느 기업이라도 할 수 있지만, 성공은 아무나 하는게 아니죠.
  • 최종욱 2009/07/20 17:57 #

    그러게나 말입니다. 티맥스 개발자들이 Win32 API를 거의 다시 구현한 것은 맞지만, 스타크래프트, MS 오피스와 같은 프로그램을 호환할 때에는 불가피하게 Wine의 코드를 약간 사용했다고 들었습니다. 아마도 이런 컴포넌트 문제 때문이겠죠. 플래쉬 플레이어도 Wine을 써서 넘어가지 않을까, 하는 생각이 듭니다.
  • chatmate 2009/07/21 17:28 #

    > 어도비 사는 모든 플랫폼에 포팅하려고 하지 않아요. 모바일 시장조차도 거들떠 보지 않습니다.

    다른 건 몰라도 이건 그렇지 않습니다. 저번 샌프란시스코에서 열린 맥스 컨퍼런스때, 컨퍼런스 종료 후에 Shantanu Narayen 씨를 따로 만날 기회가 있었는데, 자사 기술의 플랫폼 비의존성과 모바일 점유율에 대해 상당한 자부심을 갖고, 모바일(임베디드) 시장이 중요함을 수차례 역설하더군요.
  • 써니 2009/07/21 17:45 #

    chatmate 님...

    어도비 Shantanu Narayen 라는 분이 테크니컬 디렉터이신지, 마케팅 디렉터이신지는 모르겠사오나...
    제가 알게된 최근 어도비 조직 개편 내용은 또 다르더라구요.
    발언은 '의지(will)'로서의 의미를 가집니다만, 비즈니스 실현은 결국 투자의 결과인데,
    모바일에 투자하는 내용이 제가 보기에는 좀 약해보인다는 것이죠.

    상세한 얘기하면, 다치니 여기까지만... 어도비에서 일하는 대학 후배한테 혼납니다... 후다닥...
  • chatmate 2009/07/21 18:07 #

    Shantanu Narayen
    http://www.adobe.com/kr/aboutadobe/pressroom/executivebios/shantanunarayen.html

    최고 경영자라고 나오는군요.

    뭐, 작년 상황과 올해 상황이 다를 수도 있겠습니다만... 말씀하시는 대로 투자액은 현시점의 상황을 보여주는 결과이기도 하고요.
    어쨌든 작년에 Narayen 씨에게 들은 이야기의 80%는 모바일과 플랫폼 독립 이야기였습니다.
  • 나인테일 2009/07/20 17:34 # 답글

    근데 티맥스의 윈도우 바이너리 실행 능력이 시스템 자원 관리나 속도나 CrossOver도 못 쫒아갈 정도라서 윈도우용 플래쉬를 그대로 돌렸다간 어떤 참사가 벌어질지 안 봐도 뻔하지요.(....)
  • 최종욱 2009/07/20 17:45 #

    개발자 입장에서야 초당 10회만 다시 그려도 대단한 성공이겠지만, 사용자 입장에서는 심히 거슬릴 것 같습니다. 이러한 실시간성을 필요로하는 멀티미디어 플랫폼은 정말 어려운 분야라고 봅니다. 휴우.
  • 마끼아또 2009/07/20 20:46 # 답글

    아이팟 터치에 플래쉬가 안 나오니 답이 없는 ㅠㅠ
  • qwerty 2009/07/20 22:00 # 삭제 답글

    어도비에 돈주면 코어랑 문서 줍니다. 윈도 아니면 세팅은 각 메이커들이 할 일이죠. (대표적으로 핸드폰이 라이센스 사서 씁니다)
    그런데 문서 파악해서 스퀀스 만들고 해보면 엄청 난해한 작업이라는 것을 나중에 깨닫게 되지만, 회사 쫒겨나지 않으려면 해내는 수밖에 없죠.

    블로그 올린 분은 업계 실상을 전혀 모르는 것같네요. 기술자가 아닌 이상 알기는 어렵겠지만, 그렇다고 해서 이렇게 대책없는 블로깅을 해서도 안되겠죠.
  • sal9000 2009/07/20 22:56 #

    embeded, handphone의 경우와 기존 flash player 100% 호환과는 틀립니다.
    embeded, handphone등에 porting하는 경우는 상대적으로 제공 contents를 제어 가능하므로 spec의 subset만 구현해도 상관없습니다.
    그러나 상대적으로 어떤 content가 올지 모르는 desktop의 경우 힘들겠죠.
    더우기 adobe flash-player 버전 up에 맞춰 발빠르게 upgrade하는 것은 개고생이 예상됩니다.

  • 최종욱 2009/07/20 23:04 #

    http://www.adobe.com/kr/products/flashplayer_sdk/
    http://www.adobe.com/kr/products/flashlite/
    데스크탑 버전과는 관련이 없는 이야기 같습니다. 여하튼 좋은 정보 감사합니다. ^^;
  • garla 2009/07/20 23:13 # 삭제 답글

    결국 adobe flash의 데스크톱에 대해서 포팅을 해 본 적이 없다라는 얘기군요.
    예를 들면 핸드폰 버전의 adobe flash source 를 가지고 시험삼아 windows desktop 포팅을 해 본적도 없다는 얘기군요.
    여기서 두가지 경우가 있겠군요.
    하나는 핸드폰 사양의 소스는 데스탑의 소스와 다르다. (당연히 플랫폼이 다르니까..)
    그렇다면 데스크탑 소스를 사서 windows desktop 포팅을 해 실패한 예가 있는가?
  • 최종욱 2009/07/21 13:59 #

    "데스크탑 소스를 사서 windows desktop 포팅을 해 실패한 예가 있는가?"
    ... 질문이 뭔지 모르겠습니다. 도대체 왜 윈도 데스크탑 소스를 사서 윈도 데스크탑으로 다시 포팅하는 겁니까... OTL
  • joogunking 2009/10/16 17:04 # 삭제 답글

    플래시도 이젠 사실상 표준인데 오픈소스화해서 어도비가 가이드라인만 잡고 여기저기서 플래시 플레이어 개발하면 좋을텐데요.. 그렇게 되면 웹브라우저의 혁신이 플래시에서도 일어날 것 같은데 안타깝습니다. 좋은 글 잘 보고 갑니다.
  • 최종욱 2009/12/01 00:32 #

    '사실상 표준' 이라는 말이 참 애매하죠. 마이크로소프트 윈도와 같은 제품도 사실상 표준이지만 비공개로 잘 굴러갑니다. 플래쉬는 오히려 중앙에서 통제하기 때문에 상업용 코덱 등의 저작권 문제도 쉽게 해결하고, 호환성과 성능을 유지할 수 있다는 생각도 듭니다.
댓글 입력 영역