Phillip Tennen

Home Blog
Index

Writing axle OS's desktop compositor

Hit the up/down arrows to navigate between slides.

Advance animations using the right arrow.

  • $ Writing axle OS's desktop compositor

  • $ axle OS demo

  • $ awm source layout

  • $ z-indexes

  • $ Blitting windows

  • $ Simple render strategy

  • $ Getting started

  • $ Add in some windows

  • $ Clearing the canvas

  • $ And some windows again...

  • $ Tradeoffs

  • $ Correct but unusably slow

  • $ Obscured draws

  • $ Quantifying obscured draws

  • $ Splitting visible regions

  • $ Coalescing visible regions

  • $ Splits gallery

  • $ Rect splitting tests

  • $ Spatial indexes

  • $ Computing visible regions

  • $ Slower window animations

  • $ Alongside more desktop elements...

  • $ Checking our overdraw

  • $ Redraw requests

  • $ Frames over time

  • $ Code evolution

  • $ Coordinating dirty regions

  • $ Back to the drawing board

  • $ Redraw uncovered content upon mouse moves

  • $ Redraw uncovered content upon mouse moves

  • $ Union mouse difference in redraw rect

  • $ Window animations recompute the window's drawable regions

  • $ Composite computed visible regions via detected dirty rects

  • $ Newly uncovered regions receive a background draw

  • $ Window drags cause a full redraw in the affected area

  • $ Modifying the z-index updates occlusions

  • $ Redraw title bars

  • $ Add in some shortcuts...

  • $ Shortcuts redraw on mouse interaction

  • $ Shortcuts are queued for draw upon creation

  • $ All done!

  • $ Simulating inputs, testing outputs

  • $ Compositing is tricky

  • $ Thanks!