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!