Download presentation
Presentation is loading. Please wait.
Published byQuentin Cain Modified over 9 years ago
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
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.