Mus and Compositing
BlinkOn, 2017/02/01
What's Mus Anyway?
- Part of the Servicification effort
- The Mojo UI Service
- A window server
- Centrallized raster scheduling
- First class OOPIF support
- Centralized animation and scrolling
- 'Cause Speed
So What's Servicification?
- Servicification is “the migration from monolithic legacy applications into service-based components”
https://en.wiktionary.org/wiki/servicification
- In other words: splitting a monolithic Chrome browser up into components.
- Mojo is fancy IPC to glue the components together
- Why do this?
- To further deliver on the Chrome promise:
- Speed
- Simplicity
- Security
- Stability
Servicified Chrome
Aside: Mus History
- Mojo
- Better Chrome IPC
- Factors out process separation
- Mandoline: prototype
src/content
refactoring using Mojo
Mus Milestones
- Tadpole:
- separate Ash
- Relocate the Display Compositor
- Salamander:
- Relocate rasterization
- Relocate the Layer Compositor
- Because...
- Speed
- Simplicity
- Security
- Stability
Chrome Now
Tadpole
Inside Mus-GPU
Direct Compositing and Vulkan!
After Tadpole
After Tadpole: GPU Raster
Salamander
Summary
- Part of the Servicification effort
- Tadpole
- Centralizes DisplayCompositor
- Enables direct rendering: Vulkan
- Improves OOPIF support
- GPU Raster: Direct GL or Vulkan
- Salamander
- Centralized LayerCompositor
- Global raster occlusion
- Efficient OOPIF support
- Single graphics scheduling point