mirror of
https://github.com/servo/servo.git
synced 2025-08-06 14:10:11 +01:00
Put computed values into AnimationValueMap instead of hashtable in gecko.
Before this patch, we store each computed values in a hashtable, nsRefPtrHashtable<nsUint32HashKey, RawServoAnimationValue>, for all KeyframeEffectReadOnly on an element, and convert the ServoAnimationValues of the hashtable into an nsTArray<ServoAnimationValue*> and then convert the ServoAnimationValues of the nsTArray into PropertyDeclarationBlock in rust. This way was really inefficient. In this patch, we store the computed values into AnimationValueMap and convert all AnimationValue in the map into PropertyDeclarationBlock after EffectCompositor::GetAnimationRule.
This commit is contained in:
parent
c0baac4194
commit
b210813124
5 changed files with 41 additions and 12 deletions
|
@ -8214,9 +8214,6 @@ pub mod root {
|
|||
}
|
||||
#[repr(C)]
|
||||
#[derive(Debug, Copy, Clone)]
|
||||
pub struct ServoAnimationRule([u8; 0]);
|
||||
#[repr(C)]
|
||||
#[derive(Debug, Copy, Clone)]
|
||||
pub struct AnimationPerformanceWarning([u8; 0]);
|
||||
pub type CSSPseudoClassTypeBase = u8;
|
||||
#[repr(u8)]
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue