зеркало из https://github.com/mozilla/gecko-dev.git
Bug 1636038 - Only rebuild the scene if the a displaylist or root pipeline was updated. r=gw
This reverts to the behavior before https://phabricator.services.mozilla.com/D71781 which introduced a talos regression. Differential Revision: https://phabricator.services.mozilla.com/D74228
This commit is contained in:
Родитель
68dab10ed9
Коммит
96e70c7f92
|
@ -607,7 +607,7 @@ impl SceneBuilderThread {
|
|||
|
||||
let mut discard_frame_state_for_pipelines = Vec::new();
|
||||
let mut removed_pipelines = Vec::new();
|
||||
let rebuild_scene = !txn.scene_ops.is_empty();
|
||||
let mut rebuild_scene = false;
|
||||
for message in txn.scene_ops.drain(..) {
|
||||
match message {
|
||||
SceneMsg::UpdateEpoch(pipeline_id, epoch) => {
|
||||
|
@ -633,6 +633,7 @@ impl SceneBuilderThread {
|
|||
list_data,
|
||||
preserve_frame_state,
|
||||
} => {
|
||||
rebuild_scene = true;
|
||||
let built_display_list =
|
||||
BuiltDisplayList::from_data(list_data, list_descriptor);
|
||||
let display_list_len = built_display_list.data().len();
|
||||
|
@ -668,6 +669,7 @@ impl SceneBuilderThread {
|
|||
}
|
||||
}
|
||||
SceneMsg::SetRootPipeline(pipeline_id) => {
|
||||
rebuild_scene = true;
|
||||
scene.set_root_pipeline_id(pipeline_id);
|
||||
}
|
||||
SceneMsg::RemovePipeline(pipeline_id) => {
|
||||
|
|
Загрузка…
Ссылка в новой задаче