mirror of
https://github.com/servo/servo.git
synced 2025-08-06 22:15:33 +01:00
Do not wake up embedder on each animation tick
This commit is contained in:
parent
b7aaff4995
commit
016d9a62ab
4 changed files with 19 additions and 10 deletions
|
@ -3144,11 +3144,16 @@ where
|
|||
pipeline_id: PipelineId,
|
||||
animation_state: AnimationState,
|
||||
) {
|
||||
self.compositor_proxy
|
||||
.send(ToCompositorMsg::ChangeRunningAnimationsState(
|
||||
pipeline_id,
|
||||
animation_state,
|
||||
))
|
||||
if let Some(pipeline) = self.pipelines.get_mut(&pipeline_id) {
|
||||
if pipeline.animation_state != animation_state {
|
||||
pipeline.animation_state = animation_state;
|
||||
self.compositor_proxy
|
||||
.send(ToCompositorMsg::ChangeRunningAnimationsState(
|
||||
pipeline_id,
|
||||
animation_state,
|
||||
))
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
fn handle_tick_animation(&mut self, pipeline_id: PipelineId, tick_type: AnimationTickType) {
|
||||
|
|
|
@ -30,7 +30,9 @@ use net_traits::image_cache::ImageCache;
|
|||
use net_traits::{IpcSend, ResourceThreads};
|
||||
use profile_traits::mem as profile_mem;
|
||||
use profile_traits::time;
|
||||
use script_traits::{ConstellationControlMsg, DiscardBrowsingContext, ScriptToConstellationChan};
|
||||
use script_traits::{
|
||||
AnimationState, ConstellationControlMsg, DiscardBrowsingContext, ScriptToConstellationChan,
|
||||
};
|
||||
use script_traits::{DocumentActivity, InitialScriptState};
|
||||
use script_traits::{LayoutControlMsg, LayoutMsg, LoadData};
|
||||
use script_traits::{NewLayoutInfo, SWManagerMsg, SWManagerSenders};
|
||||
|
@ -81,7 +83,7 @@ pub struct Pipeline {
|
|||
|
||||
/// Whether this pipeline is currently running animations. Pipelines that are running
|
||||
/// animations cause composites to be continually scheduled.
|
||||
pub running_animations: bool,
|
||||
pub animation_state: AnimationState,
|
||||
|
||||
/// The child browsing contexts of this pipeline (these are iframes in the document).
|
||||
pub children: Vec<BrowsingContextId>,
|
||||
|
@ -377,7 +379,7 @@ impl Pipeline {
|
|||
compositor_proxy: compositor_proxy,
|
||||
url: load_data.url.clone(),
|
||||
children: vec![],
|
||||
running_animations: false,
|
||||
animation_state: AnimationState::NoAnimationsPresent,
|
||||
load_data: load_data,
|
||||
history_state_id: None,
|
||||
history_states: HashSet::new(),
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue