mirror of
https://github.com/servo/servo.git
synced 2025-07-23 07:13:52 +01:00
Support STYLO_THREADS=1
This commit is contained in:
parent
d717382c0c
commit
aade603025
1 changed files with 14 additions and 6 deletions
|
@ -1076,14 +1076,18 @@ impl LayoutThread {
|
|||
};
|
||||
|
||||
let rayon_pool = STYLE_THREAD_POOL.pool();
|
||||
let rayon_pool = rayon_pool.as_ref().unwrap();
|
||||
let rayon_pool = rayon_pool.as_ref();
|
||||
|
||||
let box_tree = if token.should_traverse() {
|
||||
driver::traverse_dom(&traversal, token, Some(rayon_pool));
|
||||
driver::traverse_dom(&traversal, token, rayon_pool);
|
||||
|
||||
let root_node = document.root_element().unwrap().as_node();
|
||||
let box_tree =
|
||||
rayon_pool.install(|| BoxTreeRoot::construct(traversal.context(), root_node));
|
||||
let build_box_tree = || BoxTreeRoot::construct(traversal.context(), root_node);
|
||||
let box_tree = if let Some(pool) = rayon_pool {
|
||||
pool.install(build_box_tree)
|
||||
} else {
|
||||
build_box_tree()
|
||||
};
|
||||
Some(box_tree)
|
||||
} else {
|
||||
None
|
||||
|
@ -1096,8 +1100,12 @@ impl LayoutThread {
|
|||
self.viewport_size.width.to_f32_px(),
|
||||
self.viewport_size.height.to_f32_px(),
|
||||
);
|
||||
let fragment_tree =
|
||||
rayon_pool.install(|| box_tree.layout(&layout_context, viewport_size));
|
||||
let run_layout = || box_tree.layout(&layout_context, viewport_size);
|
||||
let fragment_tree = if let Some(pool) = rayon_pool {
|
||||
pool.install(run_layout)
|
||||
} else {
|
||||
run_layout()
|
||||
};
|
||||
*self.box_tree_root.borrow_mut() = Some(box_tree);
|
||||
*self.fragment_tree_root.borrow_mut() = Some(fragment_tree);
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue