$ Code evolution
Tired
Each frame, draw all visible regions
fn draw_frame() {
clear_screen();
draw_visible_regions(background)
for window in windows.iter() {
draw_visible_regions(window)
}
}Wired
Each frame, draw only what's been dirtied since the previous frame
fn draw_frame() {
for rect in dirtied_rects.iter() {
draw(rect)
}
}