зеркало из https://github.com/mozilla/gecko-dev.git
servo: Merge #2965 - Move RenderState manipulation out of a loop so that we thrash it less (from zwarich:render-state-less)
Source-Repo: https://github.com/servo/servo Source-Revision: 32b442b026e7f8fc61ed7390936143122cdd54f5
This commit is contained in:
Родитель
3ddb22931b
Коммит
ea9dbbdd16
|
@ -246,6 +246,8 @@ impl<C:RenderListener + Send> RenderTask<C> {
|
|||
continue;
|
||||
}
|
||||
|
||||
self.compositor.set_render_state(RenderingRenderState);
|
||||
|
||||
let mut replies = Vec::new();
|
||||
for ReRenderRequest { buffer_requests, scale, layer_id, epoch }
|
||||
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");
|
||||
self.compositor.paint(self.id, self.epoch, replies);
|
||||
}
|
||||
|
@ -306,8 +310,6 @@ impl<C:RenderListener + Send> RenderTask<C> {
|
|||
None => return,
|
||||
};
|
||||
|
||||
self.compositor.set_render_state(RenderingRenderState);
|
||||
|
||||
// Divide up the layer into tiles.
|
||||
for tile in tiles.iter() {
|
||||
// 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));
|
||||
self.compositor.set_render_state(IdleRenderState);
|
||||
})
|
||||
}
|
||||
}
|
||||
|
|
Загрузка…
Ссылка в новой задаче