Linux Foundation Collaboration Summit 2012 의 Tizen 세션에서 Tizen Native Display Layer인 EFL 의 아키텍쳐와 사용에 관한 발표가 있었다. 현재, 타이젠 아키텍트로 삼성에서 일하고 있는 Carsten Haizler 의 발표로 관련동영상 및 PPT 슬라이드가 공개되어 있다.
EFL (Enlightenment Foundation Libraries)
- 라이브러리 집합 (Collection of Libraries)
- Canvas scene-graphs
- OpenGL, OpenGL-ES2.0, Software Renderer
- Draw Anti-aliased text, scaled images, alpha-blend objects
- Ecore
- Library of convenient functions
- Core mainloop
- Connection
- Input and glue libraries
- Eet
- Data codec and storage
- Extremely fast, simple and small
- Eet files can be very small and highly compressed
- Embryo
- Bytecode
- Interpret limited small programs compiled by the included compiler
- Edje
- Complex graphical design & layout library
- Pre-made data objects with scripting, animation etc.
- Efreet
- Freedesktop.org standards support
- Icons, Desktop files, Menus
- Eina
- Data structure, modules and base
- Provides some useful tools
- Opening shared libraries
- Errors management
- Type conversion
- Time accounting
- Memory pool
- Edbus
- Dbus integration and wrapping
- Message bus system
- Using dbus as interprocess communication
- Eio (Not in Tizen)
- Asynchrounous I/O
- Most operations are done in a separated thread to prevent lock
- Emotion
- Media object library for Evas and Ecore
- Playing audio and video files
- Eeze (Not in Tizen)
- Udev hardware detection
- Manipulating devices through udev
- Interfaces directly with libudev
- Ethumb
- Thumbnailer
- Cacher
- Elementary
- Widgets
EFL Architecture
EFL on Tizen
- Tizen의 Core toolkit 으로 사용
- Built for performance and low footprint
- 네이티브 앱에서 EFL 사용 가능
- Open source
- API's all in C
WHY EFL?
- GTK+, Qt 대신에 EFL 을 선택한 이유
- Speed
- 삼성에서 테스트 시, GTK+, X11, DirectFB 에 비해 성능에서 월등함을 보임
- 매우 빠른 소프트웨어 렌더링
- 수년간의 견고한 OpenGL, OpenGL-ES2.0 가속 지원
- 안드로이드와 같은 일반적인 스마트폰에서 60fps 이상의 더 좋은 품질 제공
- Memory
- Unity : 168 MB
- Enlightenment : 0.17 ~ 65 MB
발표자료
참고
얼마전, tizentalk.com에 Michael Sheldon 이란 개발자에 의해 EFL 을 통한 Native App 의 타이젠 구동에 성공하였다는 기사가 나왔다. Qt 기반의 App 을 EFL 로 포팅하였는데, Tizen 1.0 SDK 에서 공식적으로나 명시적으로 EFL 사용에 대한 네이티브 앱 개발에 대한 지원이 없는 상태에서 EFL Native App 구동에 성공하였다는게 흥미롭다. 블로그에 Tizen 1.0 SDK 를 이용한 상세한 포팅과정이 설명되어 있다.
반응형
댓글