mirror of
https://github.com/servo/servo.git
synced 2025-06-19 22:59:03 +01:00
Merge pull request #2965 from zwarich/render-state-less
Move RenderState manipulation out of a loop so that we thrash it less
This commit is contained in:
commit
32b442b026
1 changed files with 4 additions and 3 deletions
|
@ -246,6 +246,8 @@ impl<C:RenderListener + Send> RenderTask<C> {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
self.compositor.set_render_state(RenderingRenderState);
|
||||||
|
|
||||||
let mut replies = Vec::new();
|
let mut replies = Vec::new();
|
||||||
for ReRenderRequest { buffer_requests, scale, layer_id, epoch }
|
for ReRenderRequest { buffer_requests, scale, layer_id, epoch }
|
||||||
in requests.move_iter() {
|
in requests.move_iter() {
|
||||||
|
@ -256,6 +258,8 @@ impl<C:RenderListener + Send> RenderTask<C> {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
self.compositor.set_render_state(IdleRenderState);
|
||||||
|
|
||||||
debug!("render_task: returning surfaces");
|
debug!("render_task: returning surfaces");
|
||||||
self.compositor.paint(self.id, self.epoch, replies);
|
self.compositor.paint(self.id, self.epoch, replies);
|
||||||
}
|
}
|
||||||
|
@ -306,8 +310,6 @@ impl<C:RenderListener + Send> RenderTask<C> {
|
||||||
None => return,
|
None => return,
|
||||||
};
|
};
|
||||||
|
|
||||||
self.compositor.set_render_state(RenderingRenderState);
|
|
||||||
|
|
||||||
// Divide up the layer into tiles.
|
// Divide up the layer into tiles.
|
||||||
for tile in tiles.iter() {
|
for tile in tiles.iter() {
|
||||||
// Optimize the display list for this tile.
|
// Optimize the display list for this tile.
|
||||||
|
@ -444,7 +446,6 @@ impl<C:RenderListener + Send> RenderTask<C> {
|
||||||
};
|
};
|
||||||
|
|
||||||
replies.push((render_layer.id, layer_buffer_set));
|
replies.push((render_layer.id, layer_buffer_set));
|
||||||
self.compositor.set_render_state(IdleRenderState);
|
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue