French Absolutism, Enlightenment, & Revolution! Outcome: The Enlightenment.
[KOR][E-Kor-Seminar 2014][1/8] Introduction of EFL and Enlightenment (Hermet)
-
Upload
enlightenmentproject -
Category
Software
-
view
81 -
download
9
Transcript of [KOR][E-Kor-Seminar 2014][1/8] Introduction of EFL and Enlightenment (Hermet)
EFL 살펴보기 (Enlightenment Foundation Libraries)
박춘언 ([email protected])
2014 EFL 한국 커뮤니티 세미나
2014.10.26
2 2
삼성전자 소프트웨어 센터 근무
타이젠 플랫폼 UIFW 개발 (2009 ~ )
EFL 오픈 소스 커미터 활동 (2011 ~ )
EFL 국내 활성화를 위한 EFL Korea Community 운영 중
Blog. www.hermet.pe.kr
Email. [email protected]
박 춘 언
4 4
EFL 이란?
• 애플리케이션에서 EFL로 할 수 있는 것들
• GUI
• 테마
• 애니메이션
• 위젯
• 사용자 입력 이벤트 (키, 마우스 …)
• 모바일, 데스크탑 지원
• IPC / 소켓 통신
• 3D 그래픽
• 비디오/사운드 출력
• 기타
6 6
EFL 이란?
• EFL 적용 사례
•I-Kitchen
•Electrolux + ProFUSION, Brazil
•http://www.youtube.com/watch?v=5ZpxHgBoi0s
9 9
Enlightenment 란?
• 원래는 윈도우 관리자 이름
• 처음에는 GNOME 윈도우 관리자로서 제공
• 현재는 프로젝트 이름
• 윈도우 관리자와 라이브러리로 구성
• Enlightenment 데스크탑/윈도우 관리자
• E16(DR16), E17(DR17), E18(DR18), E19(DR19)
• EFL (Enlightenment Foundation Libraries)
12 12
EFL in 타이젠?
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.
13 13
EFL 특징
• 성능
• 저사용 메모리
• 다양한 백엔드 엔진 지원
• GUI와 프로그램 로직 분할
• 변경 가능한 테마
• 스크린 크기 호환성
• 애니메이션
• 다국어 지원
• H/W 가속
• 이식성
• 진입 장벽
• 자료 부족
EFL 특징 - 성능
GTK+, QT 대비?
• 타이젠 전신 모델에서는 GTK+, X11, DirectFB 혼합 사용
• EFL 도입 후 큰 성능 개선 이룸
• 다양한 시나리오에서 고성능 소프트웨어 렌더링
• 다년간 OpenGL & OpenGL ES 지원
• 일반 스마트폰 기기에서 60fps 성능 출력
EFL 특징 - 성능
GTK+, QT 대비?
• Unity 대비 Enlightenment의 메모리 사용량
• X11 기반의 “failsafe” 영역의 메모리 사용량 • Unity (11.04) – 168Mb
• Enlightenment 0.17 – 65Mb
• Unity와 Enlightenment의 제공 기능이 비슷
• 컴퍼지터(OpenGL), 풀스크린 월페이퍼, 애플리케이션 런처, 아이콘,
파일 관리자 등
EFL 특징 - 메모리
• 모바일 기기의 메모리 제약 • 128Mb, 256Mb, maybe 512Mb
• 모바일 기기는 대부분 swap 이용 불가 • Flash 메모리는 수명이 존재하며 쓰기 횟수에 제한적임
• 저가형 기기에서는 GPU가 미탑재 • 소프트웨어 렌더링으로 대체
• OpenGL 은 경우에 따라 비효율 • 텍스처는 성능에 유리할 수 있으나 메모리 사용량이 증가함
EFL 특징 – 벡엔드 엔진
• X11 (OpenGL, Xlib & XCB)
• Wayland (OpenGL & SHM)
• Direct Framebuffer
• DRM
• Memory buffers
• PS3 Native
• Windows (GDI & DirectDraw)
• ETC
EFL 특징 – H/W 가속
• OpenGL, OpenGL-ES
• MMX, SSE3, NEON과 같은 SIMD 벡터 연산 활용
29 29
EFL 특징 – 진입 장벽
• 애플리케이션 개발자들이 여러 설정을 직접 결정해야 함
• 익히는데 시간이 필요
• 오픈 소스 커뮤니티 또는 EFL 한국 커뮤니티에 문의
• 충분하지 않은 튜토리얼과 책!
EFL 블록 다이어그램
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 – 기타 ● 데이터 코딩/디코딩 및 압축 (Eet)
● 바이트코드 가상 머신 (Embryo)
● Freedesktop.org 표준화 지원 (Efreet)
● Dbus 통합 레퍼 라이브러리 (Eldbus)
● 비디오/오디오 재생 라이브러리 (Emotion)
37 37
EFL 라이브러리 – 기타 ● 비동기 입출력 (Eio)
● Udev 하드웨어 탐지 (Eeze)
● 썸네일 (Ethumb)
● V8 런타임 기반 자바스크립트 엔진 (Elev8)
● 물리 엔진 (EPhysics)
EFL 오픈 소스 커뮤니티 • 공식 사이트
• www.enlightenment.org
• 메일링 리스트
• 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