Presentation is loading. Please wait.

Presentation is loading. Please wait.

EFL 살펴보기 (Enlightenment Foundation Libraries) 박춘언 2014 EFL 한국 커뮤니티 세미나.

Similar presentations


Presentation on theme: "EFL 살펴보기 (Enlightenment Foundation Libraries) 박춘언 2014 EFL 한국 커뮤니티 세미나."— Presentation transcript:

1 EFL 살펴보기 (Enlightenment Foundation Libraries) 박춘언 (hermet@hermet.pe.kr) 2014 EFL 한국 커뮤니티 세미나

2 2 2 삼성전자 소프트웨어 센터 차세대 컴퓨팅 랩 근무 타이젠 UIFW 개발 (2009 ~ ) EFL 오픈 소스 커미터 활동 (2011 ~ ) 타이젠, EFL 국내 활성화를 위한 EFL Korea Community 운영 중 Blog. www.hermet.pe.kr Email. hermet@hermet.pe.kr 박 춘 언박 춘 언

3 기타 활동 - 서적

4 4 4 EFL 이란 ? GUI 애플리케이션 개발 툴킷 유용한 기능을 제공하기 위한 라이브러리 모음 애플리케이션 작성 시 어렵고 복잡한 GUI 편의 기능 요소들을 제공 EFL Building Blocks

5 5 5 EFL 이란 ? 애플리케이션에서 EFL 로 할 수 있는 것들 적은 메모리 사용 고성능 메인 루프 위젯 확장성 테마 GUI

6 6 6 EFL 이란 ? 애플리케이션에서 EFL 로 할 수 있는 것들 애니메이션 타이머 File Descriptor 사용자 입력 이벤트 ( 키, 마우스 …) IPC 통신 Socket 통신 etc.

7 7 7 EFL 이란 ? 타이젠 앱 개발

8 8 8 EFL 이란 ? EFL 적용 사례 I-Kitchen Electrolux + ProFUSION, Brazil http://www.youtube.com/watch?v=5ZpxHgBoi0s

9 9 9 EFL 이란 ? EFL 적용 사례 Elixir (Freebox) French Internet Set-top box http://www.universfreebox.com/article/10269/Demonstration-d-une-application- meteo-sur-Freebox

10 10 EFL 이란 ? EFL 적용 사례 NX300M

11 11 EFL 이란 ? EFL 적용 사례 Samsung Gear 2/ Gear 2 Neo

12 12 Enlightenment 란 ? 원래는 윈도우 관리자 이름 처음에는 GNOME 윈도우 관리자로서 제공 현재는 프로젝트 이름 윈도우 관리자와 라이브러리로 구성 Enlightenment Desktop/Window Manager E16(DR16), E17(DR17), E18(DR18), E19(DR19) EFL (Enlightenment Foundation Libraries) http://www.enlightenment.org

13 13 Enlightenment 란 ? Enlightenment Window Manager

14 14 EFL in Tizen? Graphics and UI consist of the system graphic and UI stacks, which includes the EFL (Enlightenment Foundation Libraries), an X11-based window management system, input methods, and OpenGL® ES*. The heart of the Graphics component, the EFL, is a suite of libraries. It is for creating rich graphics with ease, for all UI resolutions. The libraries build UIs in layers, allowing for 3D transformations and more. The EFL includes the Evas canvas API library and the elementary widget library.

15 15 EFL 역사 EFL Imlib2 Imlib/Fnlib Enlightenment (0.1 - 0.16.x) 1996 19992014 2001 Enlightenment (0.17 - 0.19) EFL 1.11 * Current EFL verision is 1.7 in Tizen 2.3 Beta

16 16 EFL 특성 정리 성능 저사용 메모리 다양한 백엔드 엔진 지원 GUI 와 프로그램 로직 분할 변경 가능한 테마 스크린 크기 호환성 애니메이션 다국어 지원 H/W 가속 이식성 진입 장벽 자료 부족

17 EFL 특성 - 성능 GTK+, QT 비교 ? 과거 타이젠 전신 모델에서는 GTK+, X11, DirectFB 를 혼합 하여 사용했었음 EFL 을 도입 후 큰 성능 개선 이룸 다양한 시나리오에서 소프트웨어 렌더링이 매우 빠름 다년간 OpenGL & OpenGL ES 지원 일반 스마트폰 기기에서 60fps 성능 출력

18 EFL 특성 - 성능 GTK+, QT 비교 ? Unity 대비 Enlightenment 의 메모리 사용량 EFL 을 도입 후 큰 성능 개선 이룸 다양한 시나리오에서 소프트웨어 렌더링이 매우 빠름 다년간 OpenGL & OpenGL ES 지원 일반 스마트폰 기기에서 60fps 성능 출력

19 EFL Characteristics - Memory Why is EFL being used as opposed to GTK+ or Qt or something else? Memory (Ubuntu 11.04) beyond base X11 “failsafe” session Unity – 168Mb Enlightenment 0.17 – 65Mb Numbers based on “free” minus disk cache and buffers – Base 199Mb Both Unity and Enlightenment have roughly similar features and setup Compositor (OpenGL), fullscreen wallpaper, launcher, icons, filemanager, etc.

20 EFL Characteristics - Memory Mobile devices ship with limited memory 128Mb, 256Mb, maybe 512Mb These devices almost never use swap Flash has limited writes, so swap can hurt device lifespan Lower end devices may not have GPU's Require decent software rendering to make up for it OpenGL has overhead that may not be worth it for all situations Textures keeps speed, but lose memory & more

21 EFL Characteristics - Memory

22 22 EFL Characteristic - Memory

23 23 EFL Characteristic - Memory

24 EFL Characteristics - Backened X11 (OpenGL, Xlib & XCB) Wayland (OpenGL & SHM) Direct Framebuffer DRM Memory buffers PS3 Native Windows (GDI & DirectDraw) ETC

25 EFL Characteristics – Logic/GUI Spearation

26 EFL Characteristics – Themeable 다양한 Look & Feel 을 지원하기 위한 테마 변경 가능

27 EFL Characteristics – Scalable UI

28 28 EFL Characteristic – Animation Animations supported by various layers evas edje elementary efx

29 EFL Characteristics – Bindings C++ Lua Python Javascript Ruby Vala Perl …

30 EFL Characteristics – H/W Accel. OpenGL, OpenGL-ES Uses SIMD vector such as MMX, Neon

31 31 EFL Characteristic – Not Threadsafe EFL is not threadsafe Use ecore_thread ecore_pipe

32 32 EFL Characteristic – Flexible Many libraries Many features Runs on various environment. Modularized

33 33 EFL Characteristic – Flexible Too many libraries Too many features Runs on various environment Test cost Too flexible

34 34 EFL Characteristic – Flexible Entrance barrier Application developers should consider many things. Spend much time Recommend to be consulted by EFL open source or HQ EFL team. NO TUTORIAL, NO BOOK!

35 EFL Block Diagram Embryo Eet Evas Ecore Edje Eina Efreet Eldbus Ethumb Elementary Applications, Libraries, Services BASE OPERATIING SYSTEM /DISPLAY ETC. BINDINGS(Elev8, python, perl, vala …) Eio Eeze Elementary Emotion

36 36 EFL Libraries - EINA Eina a library for data types and some useful tools.

37 37 EFL Libraries - EVAS Evas (E + canVAS) A highly optimized canvas/rendering library

38 38 EFL Libraries - ECORE Ecore (E + Core) a clean and tiny event loop library with many convenience modules.

39 39 EFL Libraries - EDJE Edje a complex graphical design & layout library.

40 40 EFL Libraries - ELEMENTARY Elementary a widget set.

41 41 EFL Libraries – ETC. ● Data codec and storage (Eet) ● Bytecode VM (Embryo) ● Freedesktop.org standards support (Efreet) ● Dbus integration and wrapping (Edbus) ● Video/Audio Playback library (Emotion)

42 42 EFL Libraries – ETC. ● Asynchronous I/O (Eio) ● Udev hardware detection (Eeze) ● Thumbnailer & cacher (Ethumb) ● V8 Javascript base runtime (Elev8) ● Physics simulation integration and visual effects. (EPhysics)

43 EFL Opensource Community Official Website www.enlightenment.org Mailing List http://lists.sourceforge.net/lists/listinfo/enlightenment-devel http://lists.sourceforge.net/lists/listinfo/enlightenment-announce http://lists.sourceforge.net/lists/listinfo/enlightenment-users IRC irc.freenode.net/6667 #e, #edevelop GIT $ git clone http://git.enlightenment.org/core/efl.git $ git clone http://git.enlightenment.org/core/elementary.git $ git clone http://git.enlightenment.org/core/enlightenment.git

44 EFL 오픈 소스 커뮤니티 World-Wide Developers 66 Committers 21 committers are working for Samsung

45 EFL References http://docs.enlightenment.org

46 EFL References http://git.enlightenment.org/core/efl.git/tree/src/examples

47 EFL References Elementary Test Application (elementary_test) Source elementary/src/bin/test*.c

48 EFL References Elementary Config Application (elementary_config)

49 EFL References Enventor Application (enventor) http://download.enlightenment.org/rel/apps/enventor/enventor-0.3.2.tar.gz

50 Thank you


Download ppt "EFL 살펴보기 (Enlightenment Foundation Libraries) 박춘언 2014 EFL 한국 커뮤니티 세미나."

Similar presentations


Ads by Google