utilizing wayland to improve performance on tizen 运用 ... · enlightenment: x vs wayland startup...
TRANSCRIPT
![Page 1: Utilizing Wayland to Improve Performance on Tizen 运用 ... · Enlightenment: X vs Wayland Startup time not measured Enlightenment Memory Usage: In X11: 103.5 Mb X Server: 62 Mb](https://reader034.vdocuments.mx/reader034/viewer/2022042212/5eb47b99caf8e80714212318/html5/thumbnails/1.jpg)
Utilizing Wayland to Improve Performance on Tizen
运用Wayland提升在Tizen平台的表现
Derek Foreman / Christopher Michael
Samsung
![Page 2: Utilizing Wayland to Improve Performance on Tizen 运用 ... · Enlightenment: X vs Wayland Startup time not measured Enlightenment Memory Usage: In X11: 103.5 Mb X Server: 62 Mb](https://reader034.vdocuments.mx/reader034/viewer/2022042212/5eb47b99caf8e80714212318/html5/thumbnails/2.jpg)
Overview
X
Wayland (and Weston)
Under the hood differences
EFL on X
EFL on Wayland
Enlightenment: X vs Wayland
![Page 3: Utilizing Wayland to Improve Performance on Tizen 运用 ... · Enlightenment: X vs Wayland Startup time not measured Enlightenment Memory Usage: In X11: 103.5 Mb X Server: 62 Mb](https://reader034.vdocuments.mx/reader034/viewer/2022042212/5eb47b99caf8e80714212318/html5/thumbnails/3.jpg)
X
X
Missing features:
![Page 4: Utilizing Wayland to Improve Performance on Tizen 运用 ... · Enlightenment: X vs Wayland Startup time not measured Enlightenment Memory Usage: In X11: 103.5 Mb X Server: 62 Mb](https://reader034.vdocuments.mx/reader034/viewer/2022042212/5eb47b99caf8e80714212318/html5/thumbnails/4.jpg)
X
X
Missing features:
Compositing
![Page 5: Utilizing Wayland to Improve Performance on Tizen 运用 ... · Enlightenment: X vs Wayland Startup time not measured Enlightenment Memory Usage: In X11: 103.5 Mb X Server: 62 Mb](https://reader034.vdocuments.mx/reader034/viewer/2022042212/5eb47b99caf8e80714212318/html5/thumbnails/5.jpg)
X
X
Missing features:
Compositing
3D Graphics
![Page 6: Utilizing Wayland to Improve Performance on Tizen 运用 ... · Enlightenment: X vs Wayland Startup time not measured Enlightenment Memory Usage: In X11: 103.5 Mb X Server: 62 Mb](https://reader034.vdocuments.mx/reader034/viewer/2022042212/5eb47b99caf8e80714212318/html5/thumbnails/6.jpg)
X
X
Missing features:
Compositing
3D Graphics
Video
![Page 7: Utilizing Wayland to Improve Performance on Tizen 运用 ... · Enlightenment: X vs Wayland Startup time not measured Enlightenment Memory Usage: In X11: 103.5 Mb X Server: 62 Mb](https://reader034.vdocuments.mx/reader034/viewer/2022042212/5eb47b99caf8e80714212318/html5/thumbnails/7.jpg)
X
X
Missing features:
Compositing
3D Graphics
Video
Moving windows around
![Page 8: Utilizing Wayland to Improve Performance on Tizen 运用 ... · Enlightenment: X vs Wayland Startup time not measured Enlightenment Memory Usage: In X11: 103.5 Mb X Server: 62 Mb](https://reader034.vdocuments.mx/reader034/viewer/2022042212/5eb47b99caf8e80714212318/html5/thumbnails/8.jpg)
X – with Extensions
X
MIT-SHM
GLX
Xv
Composite
24 More!
Missing features:
Compositing
3D Graphics
Video
Moving windows around
![Page 9: Utilizing Wayland to Improve Performance on Tizen 运用 ... · Enlightenment: X vs Wayland Startup time not measured Enlightenment Memory Usage: In X11: 103.5 Mb X Server: 62 Mb](https://reader034.vdocuments.mx/reader034/viewer/2022042212/5eb47b99caf8e80714212318/html5/thumbnails/9.jpg)
X – with Extensions and Support
X
MIT-SHM
GLX
Xv
Composite
24 More!
DRM/KMS EVDEV
libGL (via GLX)
Missing features:
Compositing
3D Graphics
Video
Moving windows around
![Page 10: Utilizing Wayland to Improve Performance on Tizen 运用 ... · Enlightenment: X vs Wayland Startup time not measured Enlightenment Memory Usage: In X11: 103.5 Mb X Server: 62 Mb](https://reader034.vdocuments.mx/reader034/viewer/2022042212/5eb47b99caf8e80714212318/html5/thumbnails/10.jpg)
X – with Extensions and Support and Clients
X
MIT-SHM
GLX
Xv
Composite
24 More!
DRM/KMS EVDEV
Compositor
Window Manager
Application
libGL (via GLX)
![Page 11: Utilizing Wayland to Improve Performance on Tizen 运用 ... · Enlightenment: X vs Wayland Startup time not measured Enlightenment Memory Usage: In X11: 103.5 Mb X Server: 62 Mb](https://reader034.vdocuments.mx/reader034/viewer/2022042212/5eb47b99caf8e80714212318/html5/thumbnails/11.jpg)
Wayland
DRM/KMS EVDEV
Application Wayland
Missing features:
Everything
GL (via EGL)
![Page 12: Utilizing Wayland to Improve Performance on Tizen 运用 ... · Enlightenment: X vs Wayland Startup time not measured Enlightenment Memory Usage: In X11: 103.5 Mb X Server: 62 Mb](https://reader034.vdocuments.mx/reader034/viewer/2022042212/5eb47b99caf8e80714212318/html5/thumbnails/12.jpg)
Wayland and Weston
DRM/KMS EVDEV
Application Weston
Wayland
GL (via EGL)
![Page 13: Utilizing Wayland to Improve Performance on Tizen 运用 ... · Enlightenment: X vs Wayland Startup time not measured Enlightenment Memory Usage: In X11: 103.5 Mb X Server: 62 Mb](https://reader034.vdocuments.mx/reader034/viewer/2022042212/5eb47b99caf8e80714212318/html5/thumbnails/13.jpg)
Under the Hood: Architecture
X Server
Talks to hardware
Does rendering
Sends events
X
![Page 14: Utilizing Wayland to Improve Performance on Tizen 运用 ... · Enlightenment: X vs Wayland Startup time not measured Enlightenment Memory Usage: In X11: 103.5 Mb X Server: 62 Mb](https://reader034.vdocuments.mx/reader034/viewer/2022042212/5eb47b99caf8e80714212318/html5/thumbnails/14.jpg)
Under the Hood: Architecture
Window Manager
Moves windows
Handles some state
Does rendering
X Server Talks to hardware
Does rendering
Sends events
X
![Page 15: Utilizing Wayland to Improve Performance on Tizen 运用 ... · Enlightenment: X vs Wayland Startup time not measured Enlightenment Memory Usage: In X11: 103.5 Mb X Server: 62 Mb](https://reader034.vdocuments.mx/reader034/viewer/2022042212/5eb47b99caf8e80714212318/html5/thumbnails/15.jpg)
Under the Hood: Architecture
Compositor
Ensures tear free display
Wobbly Windows
Does rendering
Window Manager Moves windows
Handles some state
Does rendering
X Server Talks to hardware
Does rendering
Sends events
X
![Page 16: Utilizing Wayland to Improve Performance on Tizen 运用 ... · Enlightenment: X vs Wayland Startup time not measured Enlightenment Memory Usage: In X11: 103.5 Mb X Server: 62 Mb](https://reader034.vdocuments.mx/reader034/viewer/2022042212/5eb47b99caf8e80714212318/html5/thumbnails/16.jpg)
Under the Hood: Architecture
Compositor * Ensures tear free display
Wobbly Windows
Does rendering
Window Manager * Moves windows
Handles some state
Does rendering
X Server Talks to hardware
Does rendering
Sends events
X
* May or may not be the same program
![Page 17: Utilizing Wayland to Improve Performance on Tizen 运用 ... · Enlightenment: X vs Wayland Startup time not measured Enlightenment Memory Usage: In X11: 103.5 Mb X Server: 62 Mb](https://reader034.vdocuments.mx/reader034/viewer/2022042212/5eb47b99caf8e80714212318/html5/thumbnails/17.jpg)
Under the Hood: Architecture
X Server
Window Manager
Compositor
X Wayland Compositor
![Page 18: Utilizing Wayland to Improve Performance on Tizen 运用 ... · Enlightenment: X vs Wayland Startup time not measured Enlightenment Memory Usage: In X11: 103.5 Mb X Server: 62 Mb](https://reader034.vdocuments.mx/reader034/viewer/2022042212/5eb47b99caf8e80714212318/html5/thumbnails/18.jpg)
Under the Hood: Architecture
X Server
Window Manager
Compositor
X Wayland Compositor
(Does all that stuff)
![Page 19: Utilizing Wayland to Improve Performance on Tizen 运用 ... · Enlightenment: X vs Wayland Startup time not measured Enlightenment Memory Usage: In X11: 103.5 Mb X Server: 62 Mb](https://reader034.vdocuments.mx/reader034/viewer/2022042212/5eb47b99caf8e80714212318/html5/thumbnails/19.jpg)
Under the Hood: Input
X Server
Window Manager
Compositor
X Wayland
Under X, compositor not involved with input
Compositor
![Page 20: Utilizing Wayland to Improve Performance on Tizen 运用 ... · Enlightenment: X vs Wayland Startup time not measured Enlightenment Memory Usage: In X11: 103.5 Mb X Server: 62 Mb](https://reader034.vdocuments.mx/reader034/viewer/2022042212/5eb47b99caf8e80714212318/html5/thumbnails/20.jpg)
Under the Hood: Input
Benefits to Tizen:
Compositor puts windows anywhere
any orientation
input works
![Page 21: Utilizing Wayland to Improve Performance on Tizen 运用 ... · Enlightenment: X vs Wayland Startup time not measured Enlightenment Memory Usage: In X11: 103.5 Mb X Server: 62 Mb](https://reader034.vdocuments.mx/reader034/viewer/2022042212/5eb47b99caf8e80714212318/html5/thumbnails/21.jpg)
Under the Hood: Wayland multi-seat
Collection of input devices:
Keyboard
Mouse
Touch
![Page 22: Utilizing Wayland to Improve Performance on Tizen 运用 ... · Enlightenment: X vs Wayland Startup time not measured Enlightenment Memory Usage: In X11: 103.5 Mb X Server: 62 Mb](https://reader034.vdocuments.mx/reader034/viewer/2022042212/5eb47b99caf8e80714212318/html5/thumbnails/22.jpg)
Under the Hood: Wayland multi-seat
Collection of input devices:
Keyboard
Mouse
Touch
Associated state:
Cut and paste
Focus
Interactive moves and resizes
![Page 23: Utilizing Wayland to Improve Performance on Tizen 运用 ... · Enlightenment: X vs Wayland Startup time not measured Enlightenment Memory Usage: In X11: 103.5 Mb X Server: 62 Mb](https://reader034.vdocuments.mx/reader034/viewer/2022042212/5eb47b99caf8e80714212318/html5/thumbnails/23.jpg)
Under the Hood: Wayland multi-seat
Benefits to Tizen:
Effective sharing of displays
New collaborative possibilities
![Page 24: Utilizing Wayland to Improve Performance on Tizen 运用 ... · Enlightenment: X vs Wayland Startup time not measured Enlightenment Memory Usage: In X11: 103.5 Mb X Server: 62 Mb](https://reader034.vdocuments.mx/reader034/viewer/2022042212/5eb47b99caf8e80714212318/html5/thumbnails/24.jpg)
Under the Hood: Drawing API
Rectangles
Lines
Arcs
Filled Polygons
Filled Arcs
Fonts
Image buffers
X Image buffers
Wayland
![Page 25: Utilizing Wayland to Improve Performance on Tizen 运用 ... · Enlightenment: X vs Wayland Startup time not measured Enlightenment Memory Usage: In X11: 103.5 Mb X Server: 62 Mb](https://reader034.vdocuments.mx/reader034/viewer/2022042212/5eb47b99caf8e80714212318/html5/thumbnails/25.jpg)
Under the Hood: Drawing API
Junk
Image buffers
X Image buffers
Wayland
![Page 26: Utilizing Wayland to Improve Performance on Tizen 运用 ... · Enlightenment: X vs Wayland Startup time not measured Enlightenment Memory Usage: In X11: 103.5 Mb X Server: 62 Mb](https://reader034.vdocuments.mx/reader034/viewer/2022042212/5eb47b99caf8e80714212318/html5/thumbnails/26.jpg)
Under the Hood: Drawing API
Benefits to Tizen:
Less completely useless code
Saves storage space and memory
![Page 27: Utilizing Wayland to Improve Performance on Tizen 运用 ... · Enlightenment: X vs Wayland Startup time not measured Enlightenment Memory Usage: In X11: 103.5 Mb X Server: 62 Mb](https://reader034.vdocuments.mx/reader034/viewer/2022042212/5eb47b99caf8e80714212318/html5/thumbnails/27.jpg)
Under the Hood: Drawing API
Client draws stuff
Client sends buffer
X server does stuff
X server alerts compositor
Compositor renders
X Client draws stuff
Client commits buffer handle
Compositor renders
Compositor releases buffers
Wayland
![Page 28: Utilizing Wayland to Improve Performance on Tizen 运用 ... · Enlightenment: X vs Wayland Startup time not measured Enlightenment Memory Usage: In X11: 103.5 Mb X Server: 62 Mb](https://reader034.vdocuments.mx/reader034/viewer/2022042212/5eb47b99caf8e80714212318/html5/thumbnails/28.jpg)
Under the Hood: Drawing API
Client draws stuff
Client sends buffer
X server does stuff
X server alerts compositor
Compositor renders
X Client draws stuff
Client commits buffer handle
Compositor renders
Compositor releases buffers
Wayland
X server is single threaded
![Page 29: Utilizing Wayland to Improve Performance on Tizen 运用 ... · Enlightenment: X vs Wayland Startup time not measured Enlightenment Memory Usage: In X11: 103.5 Mb X Server: 62 Mb](https://reader034.vdocuments.mx/reader034/viewer/2022042212/5eb47b99caf8e80714212318/html5/thumbnails/29.jpg)
Under the Hood: Drawing API
Client draws stuff
Client sends buffer
X server does stuff
X server alerts compositor
Compositor renders
X Client draws stuff
Client commits buffer handle
Compositor renders
Compositor releases buffers
Wayland
X server is single threaded
Handles client storage
![Page 30: Utilizing Wayland to Improve Performance on Tizen 运用 ... · Enlightenment: X vs Wayland Startup time not measured Enlightenment Memory Usage: In X11: 103.5 Mb X Server: 62 Mb](https://reader034.vdocuments.mx/reader034/viewer/2022042212/5eb47b99caf8e80714212318/html5/thumbnails/30.jpg)
Under the Hood: Drawing API
Client draws stuff
Client sends buffer
X server does stuff
X server alerts compositor
Compositor renders
X Client draws stuff
Client commits buffer handle
Compositor renders
Compositor releases buffers
Wayland
Using poorly synchronized client data
![Page 31: Utilizing Wayland to Improve Performance on Tizen 运用 ... · Enlightenment: X vs Wayland Startup time not measured Enlightenment Memory Usage: In X11: 103.5 Mb X Server: 62 Mb](https://reader034.vdocuments.mx/reader034/viewer/2022042212/5eb47b99caf8e80714212318/html5/thumbnails/31.jpg)
Under the Hood: Drawing API
Client draws stuff
Client sends buffer
X server does stuff
X server alerts compositor
Compositor renders
X Client draws stuff
Client commits buffer handle
Compositor renders
Compositor releases buffers
Wayland
Using poorly synchronized client data
Tear-free display possible… sometimes
![Page 32: Utilizing Wayland to Improve Performance on Tizen 运用 ... · Enlightenment: X vs Wayland Startup time not measured Enlightenment Memory Usage: In X11: 103.5 Mb X Server: 62 Mb](https://reader034.vdocuments.mx/reader034/viewer/2022042212/5eb47b99caf8e80714212318/html5/thumbnails/32.jpg)
Under the Hood: Drawing API
Benefits to Tizen:
“Every frame is perfect”
Easier benchmarking and profiling
Lower impact from a bad application
![Page 33: Utilizing Wayland to Improve Performance on Tizen 运用 ... · Enlightenment: X vs Wayland Startup time not measured Enlightenment Memory Usage: In X11: 103.5 Mb X Server: 62 Mb](https://reader034.vdocuments.mx/reader034/viewer/2022042212/5eb47b99caf8e80714212318/html5/thumbnails/33.jpg)
Under the Hood: Wayland buffer properties
Buffer scale
Integer multiple
Compensates for display DPI difference
![Page 34: Utilizing Wayland to Improve Performance on Tizen 运用 ... · Enlightenment: X vs Wayland Startup time not measured Enlightenment Memory Usage: In X11: 103.5 Mb X Server: 62 Mb](https://reader034.vdocuments.mx/reader034/viewer/2022042212/5eb47b99caf8e80714212318/html5/thumbnails/34.jpg)
Under the Hood: Wayland buffer properties
Buffer scale
Integer multiple
Compensates for display DPI difference
Transform
90 degree rotations
Application can render in display orientation
![Page 35: Utilizing Wayland to Improve Performance on Tizen 运用 ... · Enlightenment: X vs Wayland Startup time not measured Enlightenment Memory Usage: In X11: 103.5 Mb X Server: 62 Mb](https://reader034.vdocuments.mx/reader034/viewer/2022042212/5eb47b99caf8e80714212318/html5/thumbnails/35.jpg)
Under the Hood: Buffer Properties
Benefits to Tizen:
Matching transforms may save copy
Scale allows for DPI awareness
![Page 36: Utilizing Wayland to Improve Performance on Tizen 运用 ... · Enlightenment: X vs Wayland Startup time not measured Enlightenment Memory Usage: In X11: 103.5 Mb X Server: 62 Mb](https://reader034.vdocuments.mx/reader034/viewer/2022042212/5eb47b99caf8e80714212318/html5/thumbnails/36.jpg)
Under the Hood: Buffer Properties
Benefits to Tizen:
Matching transforms may save copy
Scale allows for DPI awareness
Less cpu usage, better images
![Page 37: Utilizing Wayland to Improve Performance on Tizen 运用 ... · Enlightenment: X vs Wayland Startup time not measured Enlightenment Memory Usage: In X11: 103.5 Mb X Server: 62 Mb](https://reader034.vdocuments.mx/reader034/viewer/2022042212/5eb47b99caf8e80714212318/html5/thumbnails/37.jpg)
Under the Hood: Frame callbacks
Wayland provides a frame callback to clients
Means “commit now to hit vblank”
Doesn’t happen for hidden apps
Or sleeping displays
![Page 38: Utilizing Wayland to Improve Performance on Tizen 运用 ... · Enlightenment: X vs Wayland Startup time not measured Enlightenment Memory Usage: In X11: 103.5 Mb X Server: 62 Mb](https://reader034.vdocuments.mx/reader034/viewer/2022042212/5eb47b99caf8e80714212318/html5/thumbnails/38.jpg)
Under the Hood: Frame callbacks
Benefits to Tizen:
Reliable timing mechanism
Simple, low latency
![Page 39: Utilizing Wayland to Improve Performance on Tizen 运用 ... · Enlightenment: X vs Wayland Startup time not measured Enlightenment Memory Usage: In X11: 103.5 Mb X Server: 62 Mb](https://reader034.vdocuments.mx/reader034/viewer/2022042212/5eb47b99caf8e80714212318/html5/thumbnails/39.jpg)
Under the Hood: Frame callbacks
Benefits to Tizen:
Reliable timing mechanism
Simple, low latency
Smooth and responsive animations
![Page 40: Utilizing Wayland to Improve Performance on Tizen 运用 ... · Enlightenment: X vs Wayland Startup time not measured Enlightenment Memory Usage: In X11: 103.5 Mb X Server: 62 Mb](https://reader034.vdocuments.mx/reader034/viewer/2022042212/5eb47b99caf8e80714212318/html5/thumbnails/40.jpg)
Under the Hood: Video Handling
Xv
OpenGL
Image
Alpha Hole
Buffers (fourcc)
X Wayland
![Page 41: Utilizing Wayland to Improve Performance on Tizen 运用 ... · Enlightenment: X vs Wayland Startup time not measured Enlightenment Memory Usage: In X11: 103.5 Mb X Server: 62 Mb](https://reader034.vdocuments.mx/reader034/viewer/2022042212/5eb47b99caf8e80714212318/html5/thumbnails/41.jpg)
Under the Hood: Video Handling
Xv
OpenGL
Image
Alpha Hole
Buffers (fourcc)
X Wayland
“Descriptive, not prescriptive”
![Page 42: Utilizing Wayland to Improve Performance on Tizen 运用 ... · Enlightenment: X vs Wayland Startup time not measured Enlightenment Memory Usage: In X11: 103.5 Mb X Server: 62 Mb](https://reader034.vdocuments.mx/reader034/viewer/2022042212/5eb47b99caf8e80714212318/html5/thumbnails/42.jpg)
Under the Hood: Video Handling
Benefits to Tizen:
Compositor can leverage hardware planes
Less cpu usage
Better quality video
Longer battery life
![Page 43: Utilizing Wayland to Improve Performance on Tizen 运用 ... · Enlightenment: X vs Wayland Startup time not measured Enlightenment Memory Usage: In X11: 103.5 Mb X Server: 62 Mb](https://reader034.vdocuments.mx/reader034/viewer/2022042212/5eb47b99caf8e80714212318/html5/thumbnails/43.jpg)
Under the Hood: Video Handling
Xv
OpenGL
Image
Alpha Hole
Buffers (fourcc)
DMA-Buf (soon)
X Wayland
![Page 44: Utilizing Wayland to Improve Performance on Tizen 运用 ... · Enlightenment: X vs Wayland Startup time not measured Enlightenment Memory Usage: In X11: 103.5 Mb X Server: 62 Mb](https://reader034.vdocuments.mx/reader034/viewer/2022042212/5eb47b99caf8e80714212318/html5/thumbnails/44.jpg)
Under the Hood: Video Handling
Xv
OpenGL
Image
Alpha Hole
Buffers (fourcc)
DMA-Buf (soon)
X Wayland
Zero copy!
![Page 45: Utilizing Wayland to Improve Performance on Tizen 运用 ... · Enlightenment: X vs Wayland Startup time not measured Enlightenment Memory Usage: In X11: 103.5 Mb X Server: 62 Mb](https://reader034.vdocuments.mx/reader034/viewer/2022042212/5eb47b99caf8e80714212318/html5/thumbnails/45.jpg)
Under the Hood: Nesting Structures
Window reparenting Subsurfaces
X Wayland
![Page 46: Utilizing Wayland to Improve Performance on Tizen 运用 ... · Enlightenment: X vs Wayland Startup time not measured Enlightenment Memory Usage: In X11: 103.5 Mb X Server: 62 Mb](https://reader034.vdocuments.mx/reader034/viewer/2022042212/5eb47b99caf8e80714212318/html5/thumbnails/46.jpg)
Under the Hood: Nesting Structures
Window reparenting Parent moves are atomic
Subsurfaces
X Wayland
![Page 47: Utilizing Wayland to Improve Performance on Tizen 运用 ... · Enlightenment: X vs Wayland Startup time not measured Enlightenment Memory Usage: In X11: 103.5 Mb X Server: 62 Mb](https://reader034.vdocuments.mx/reader034/viewer/2022042212/5eb47b99caf8e80714212318/html5/thumbnails/47.jpg)
Under the Hood: Nesting Structures
Window reparenting Parent moves are atomic
Moving children isn’t
Subsurfaces Double buffered state
Atomic via parent commit
X Wayland
![Page 48: Utilizing Wayland to Improve Performance on Tizen 运用 ... · Enlightenment: X vs Wayland Startup time not measured Enlightenment Memory Usage: In X11: 103.5 Mb X Server: 62 Mb](https://reader034.vdocuments.mx/reader034/viewer/2022042212/5eb47b99caf8e80714212318/html5/thumbnails/48.jpg)
Under the Hood: Nesting Structures
Window reparenting Parent moves are atomic
Moving children isn’t
Subsurfaces Double buffered state
Atomic via parent commit
Scroll a browser window with lots of video
elements...
X Wayland
![Page 49: Utilizing Wayland to Improve Performance on Tizen 运用 ... · Enlightenment: X vs Wayland Startup time not measured Enlightenment Memory Usage: In X11: 103.5 Mb X Server: 62 Mb](https://reader034.vdocuments.mx/reader034/viewer/2022042212/5eb47b99caf8e80714212318/html5/thumbnails/49.jpg)
Under the Hood: Nesting Structures
Benefits to Tizen:
Coherent motion of complicated layouts
Again, “Every frame is perfect”
![Page 50: Utilizing Wayland to Improve Performance on Tizen 运用 ... · Enlightenment: X vs Wayland Startup time not measured Enlightenment Memory Usage: In X11: 103.5 Mb X Server: 62 Mb](https://reader034.vdocuments.mx/reader034/viewer/2022042212/5eb47b99caf8e80714212318/html5/thumbnails/50.jpg)
Under the Hood: Wayland security model
No control over own window position
No access to other client’s buffers
No unfiltered access to input
Applications have:
![Page 51: Utilizing Wayland to Improve Performance on Tizen 运用 ... · Enlightenment: X vs Wayland Startup time not measured Enlightenment Memory Usage: In X11: 103.5 Mb X Server: 62 Mb](https://reader034.vdocuments.mx/reader034/viewer/2022042212/5eb47b99caf8e80714212318/html5/thumbnails/51.jpg)
Under the Hood: Wayland security model
No control over own window position No focus stealing
No access to other client’s buffers No color picker
No unfiltered access to input No xeyes
Applications have:
![Page 52: Utilizing Wayland to Improve Performance on Tizen 运用 ... · Enlightenment: X vs Wayland Startup time not measured Enlightenment Memory Usage: In X11: 103.5 Mb X Server: 62 Mb](https://reader034.vdocuments.mx/reader034/viewer/2022042212/5eb47b99caf8e80714212318/html5/thumbnails/52.jpg)
Under the Hood: Wayland security model
Benefits to Tizen:
Better protection from malicious software
![Page 53: Utilizing Wayland to Improve Performance on Tizen 运用 ... · Enlightenment: X vs Wayland Startup time not measured Enlightenment Memory Usage: In X11: 103.5 Mb X Server: 62 Mb](https://reader034.vdocuments.mx/reader034/viewer/2022042212/5eb47b99caf8e80714212318/html5/thumbnails/53.jpg)
Under the Hood: Wayland protocol extensions
Easy to add private extensions
![Page 54: Utilizing Wayland to Improve Performance on Tizen 运用 ... · Enlightenment: X vs Wayland Startup time not measured Enlightenment Memory Usage: In X11: 103.5 Mb X Server: 62 Mb](https://reader034.vdocuments.mx/reader034/viewer/2022042212/5eb47b99caf8e80714212318/html5/thumbnails/54.jpg)
Under the Hood: Wayland protocol extensions
Easy to add private extensions Official protocol developed as Weston extensions
![Page 55: Utilizing Wayland to Improve Performance on Tizen 运用 ... · Enlightenment: X vs Wayland Startup time not measured Enlightenment Memory Usage: In X11: 103.5 Mb X Server: 62 Mb](https://reader034.vdocuments.mx/reader034/viewer/2022042212/5eb47b99caf8e80714212318/html5/thumbnails/55.jpg)
Under the Hood: Wayland protocol extensions
Easy to add private extensions
Gaussian blur?
Window orientation hints?
![Page 56: Utilizing Wayland to Improve Performance on Tizen 运用 ... · Enlightenment: X vs Wayland Startup time not measured Enlightenment Memory Usage: In X11: 103.5 Mb X Server: 62 Mb](https://reader034.vdocuments.mx/reader034/viewer/2022042212/5eb47b99caf8e80714212318/html5/thumbnails/56.jpg)
Under the Hood: Wayland protocol extensions
Benefits to Tizen:
Eye candy
Rapid innovation
![Page 57: Utilizing Wayland to Improve Performance on Tizen 运用 ... · Enlightenment: X vs Wayland Startup time not measured Enlightenment Memory Usage: In X11: 103.5 Mb X Server: 62 Mb](https://reader034.vdocuments.mx/reader034/viewer/2022042212/5eb47b99caf8e80714212318/html5/thumbnails/57.jpg)
Under the Hood: Portability
KMS works?
Weston works.
![Page 58: Utilizing Wayland to Improve Performance on Tizen 运用 ... · Enlightenment: X vs Wayland Startup time not measured Enlightenment Memory Usage: In X11: 103.5 Mb X Server: 62 Mb](https://reader034.vdocuments.mx/reader034/viewer/2022042212/5eb47b99caf8e80714212318/html5/thumbnails/58.jpg)
Under the Hood: Portability
KMS works?
Weston works.
Don’t have to write Xv driver!
![Page 59: Utilizing Wayland to Improve Performance on Tizen 运用 ... · Enlightenment: X vs Wayland Startup time not measured Enlightenment Memory Usage: In X11: 103.5 Mb X Server: 62 Mb](https://reader034.vdocuments.mx/reader034/viewer/2022042212/5eb47b99caf8e80714212318/html5/thumbnails/59.jpg)
Under the Hood: Portability
KMS works?
Weston works.*
*(GL has some additional requirements)
![Page 60: Utilizing Wayland to Improve Performance on Tizen 运用 ... · Enlightenment: X vs Wayland Startup time not measured Enlightenment Memory Usage: In X11: 103.5 Mb X Server: 62 Mb](https://reader034.vdocuments.mx/reader034/viewer/2022042212/5eb47b99caf8e80714212318/html5/thumbnails/60.jpg)
Under the Hood: Portability
Benefits to Tizen:
Quick bring-up on new platforms
Easy adoption
See Mauro Chehab’s talk “Bringing Tizen to a Raspberry PI 2 Near You!”
![Page 61: Utilizing Wayland to Improve Performance on Tizen 运用 ... · Enlightenment: X vs Wayland Startup time not measured Enlightenment Memory Usage: In X11: 103.5 Mb X Server: 62 Mb](https://reader034.vdocuments.mx/reader034/viewer/2022042212/5eb47b99caf8e80714212318/html5/thumbnails/61.jpg)
That's great – How do we use it?
Wayland and X share approximately 0%
common API
![Page 62: Utilizing Wayland to Improve Performance on Tizen 运用 ... · Enlightenment: X vs Wayland Startup time not measured Enlightenment Memory Usage: In X11: 103.5 Mb X Server: 62 Mb](https://reader034.vdocuments.mx/reader034/viewer/2022042212/5eb47b99caf8e80714212318/html5/thumbnails/62.jpg)
That's great – How do we use it?
Wayland and X share approximately 0%
common API
Rewrite all your applications?
![Page 63: Utilizing Wayland to Improve Performance on Tizen 运用 ... · Enlightenment: X vs Wayland Startup time not measured Enlightenment Memory Usage: In X11: 103.5 Mb X Server: 62 Mb](https://reader034.vdocuments.mx/reader034/viewer/2022042212/5eb47b99caf8e80714212318/html5/thumbnails/63.jpg)
That's great – How do we use it?
Wayland and X share approximately 0%
common API
Rewrite all your applications?
Just kidding! Use EFL.
![Page 64: Utilizing Wayland to Improve Performance on Tizen 运用 ... · Enlightenment: X vs Wayland Startup time not measured Enlightenment Memory Usage: In X11: 103.5 Mb X Server: 62 Mb](https://reader034.vdocuments.mx/reader034/viewer/2022042212/5eb47b99caf8e80714212318/html5/thumbnails/64.jpg)
Enlightenment Foundation Libraries (EFL)
Data structures (lists, hash tables, etc)
Main loop event, I/O, timing core
Event queue and call handling
Canvas scene graph and rendering
Widgets/controls (buttons, sliders, etc)
Input method framework
Video & audio codec playback
IPC, D-Bus, network connectivity
![Page 65: Utilizing Wayland to Improve Performance on Tizen 运用 ... · Enlightenment: X vs Wayland Startup time not measured Enlightenment Memory Usage: In X11: 103.5 Mb X Server: 62 Mb](https://reader034.vdocuments.mx/reader034/viewer/2022042212/5eb47b99caf8e80714212318/html5/thumbnails/65.jpg)
EFL Applications on X
Startup time “time elementary_test”:
Real: 0m1.645s
User: 0m0.683s
System: 0m0.017s
Memory Usage: 29.8 Mb
![Page 66: Utilizing Wayland to Improve Performance on Tizen 运用 ... · Enlightenment: X vs Wayland Startup time not measured Enlightenment Memory Usage: In X11: 103.5 Mb X Server: 62 Mb](https://reader034.vdocuments.mx/reader034/viewer/2022042212/5eb47b99caf8e80714212318/html5/thumbnails/66.jpg)
EFL Applications on X (cont)
Elementary Test
Peak memory: 9.1 MB
![Page 67: Utilizing Wayland to Improve Performance on Tizen 运用 ... · Enlightenment: X vs Wayland Startup time not measured Enlightenment Memory Usage: In X11: 103.5 Mb X Server: 62 Mb](https://reader034.vdocuments.mx/reader034/viewer/2022042212/5eb47b99caf8e80714212318/html5/thumbnails/67.jpg)
EFL Applications on Wayland
Startup time “time elementary_test”:
Real: 0m1.227s
User: 0m0.420s
System: 0m0.003s
Memory Usage: 18.2 Mb
![Page 68: Utilizing Wayland to Improve Performance on Tizen 运用 ... · Enlightenment: X vs Wayland Startup time not measured Enlightenment Memory Usage: In X11: 103.5 Mb X Server: 62 Mb](https://reader034.vdocuments.mx/reader034/viewer/2022042212/5eb47b99caf8e80714212318/html5/thumbnails/68.jpg)
EFL Applications on Wayland (cont)
Elementary Test
Peak memory: 8.1 MB
![Page 69: Utilizing Wayland to Improve Performance on Tizen 运用 ... · Enlightenment: X vs Wayland Startup time not measured Enlightenment Memory Usage: In X11: 103.5 Mb X Server: 62 Mb](https://reader034.vdocuments.mx/reader034/viewer/2022042212/5eb47b99caf8e80714212318/html5/thumbnails/69.jpg)
EFL Applications
Utilizing Wayland: Decreased Startup Time:
0.418s average per application
Decreased Memory Usage: 11.6 Mb average per application
Similar functionality
![Page 70: Utilizing Wayland to Improve Performance on Tizen 运用 ... · Enlightenment: X vs Wayland Startup time not measured Enlightenment Memory Usage: In X11: 103.5 Mb X Server: 62 Mb](https://reader034.vdocuments.mx/reader034/viewer/2022042212/5eb47b99caf8e80714212318/html5/thumbnails/70.jpg)
Enlightenment: X vs Wayland
Startup time not measured
Enlightenment Memory Usage: In X11: 103.5 Mb
X Server: 62 Mb
Window Manager: 41.5 Mb
Wayland: 54.9 Mb
Average Memory Savings: 48.6 Mb
Similar functionality