mirror of
https://github.com/servo/servo.git
synced 2025-08-03 04:30:10 +01:00
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:
parent
f4471f0602
commit
c7327450ef
11 changed files with 130 additions and 34 deletions
|
@ -48,7 +48,7 @@ use geom::Size2D;
|
|||
use gfx::display_list::BlockLevel;
|
||||
use serialize::{Encoder, Encodable};
|
||||
use servo_msg::compositor_msg::LayerId;
|
||||
use servo_util::geometry::{Au, MAX_AU, MAX_RECT};
|
||||
use servo_util::geometry::{Au, MAX_AU};
|
||||
use servo_util::logical_geometry::{LogicalPoint, LogicalRect, LogicalSize};
|
||||
use servo_util::opts;
|
||||
use std::cmp::{max, min};
|
||||
|
@ -1665,10 +1665,6 @@ impl Flow for BlockFlow {
|
|||
// FIXME(#2795): Get the real container size
|
||||
let container_size = Size2D::zero();
|
||||
|
||||
if self.is_root() {
|
||||
self.base.clip_rect = MAX_RECT;
|
||||
}
|
||||
|
||||
if self.base.flags.is_absolutely_positioned() {
|
||||
let position_start = self.base.position.start.to_physical(self.base.writing_mode,
|
||||
container_size);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue