Clip display list based on frame viewport

Instead of creating a display list for the entire page, only create one
for an area that expands around the viewport. On my machine this makes
incremental layout of http://timecube.com 50% faster.
This commit is contained in:
Martin Robinson 2014-10-22 14:00:09 -07:00
parent f4471f0602
commit c7327450ef
11 changed files with 130 additions and 34 deletions

View file

@ -32,6 +32,7 @@ use servo_util::smallvec::SmallVec1;
use std::any::Any;
use geom::point::Point2D;
use geom::rect::Rect;
use serialize::{Encodable, Encoder};
@ -62,6 +63,7 @@ pub enum ConstellationControlMsg {
SendEventMsg(PipelineId, CompositorEvent),
/// Notifies script that reflow is finished.
ReflowCompleteMsg(PipelineId, uint),
ViewportMsg(PipelineId, Rect<f32>),
}
/// Events from the compositor that the script task needs to know about