mirror of
https://github.com/servo/servo.git
synced 2025-08-04 13:10:20 +01:00
layout: Make incremental reflow more fine-grained by introducing "reflow
out-of-flow" and "reconstruct flow" damage bits. This is needed for good performance on the maze solver.
This commit is contained in:
parent
7712052e13
commit
08fc7c2795
20 changed files with 644 additions and 403 deletions
|
@ -8,10 +8,9 @@
|
|||
use css::node_style::StyledNode;
|
||||
use construct::FlowConstructionResult;
|
||||
use context::SharedLayoutContext;
|
||||
use flow::{Flow, ImmutableFlowUtils, MutableFlowUtils, MutableOwnedFlowUtils};
|
||||
use flow;
|
||||
use flow::{mod, Flow, ImmutableFlowUtils, MutableFlowUtils, MutableOwnedFlowUtils};
|
||||
use flow_ref::FlowRef;
|
||||
use incremental::{Reflow, Repaint};
|
||||
use incremental::{LayoutDamageComputation, Reflow, ReflowEntireDocument, Repaint};
|
||||
use layout_debug;
|
||||
use parallel::UnsafeFlow;
|
||||
use parallel;
|
||||
|
@ -675,7 +674,10 @@ impl LayoutTask {
|
|||
Some((&data.url, data.iframe, self.first_reflow.get())),
|
||||
self.time_profiler_chan.clone(),
|
||||
|| {
|
||||
layout_root.propagate_restyle_damage();
|
||||
if opts::get().nonincremental_layout ||
|
||||
layout_root.compute_layout_damage().contains(ReflowEntireDocument) {
|
||||
layout_root.reflow_entire_document()
|
||||
}
|
||||
});
|
||||
|
||||
// Verification of the flow tree, which ensures that all nodes were either marked as leaves
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue