mirror of
https://github.com/unanmed/HumanBreak.git
synced 2025-04-11 15:47:06 +08:00
perf: 在修改不透明度等属性时只需要更新父元素
This commit is contained in:
parent
d2b7a5d430
commit
310e597c58
@ -476,7 +476,8 @@ export abstract class RenderItem<E extends ERenderItemEvent = ERenderItemEvent>
|
||||
*/
|
||||
setFilter(filter: string) {
|
||||
this.filter = filter;
|
||||
this.update(this);
|
||||
// 设置滤镜时,不需要更新自身的缓存,直接调用父元素的更新即可
|
||||
this._parent?.update();
|
||||
}
|
||||
|
||||
/**
|
||||
@ -485,7 +486,8 @@ export abstract class RenderItem<E extends ERenderItemEvent = ERenderItemEvent>
|
||||
*/
|
||||
setComposite(composite: GlobalCompositeOperation) {
|
||||
this.composite = composite;
|
||||
this.update();
|
||||
// 设置混合模式时,不需要更新自身的缓存,直接调用父元素的更新即可
|
||||
this._parent?.update();
|
||||
}
|
||||
|
||||
/**
|
||||
@ -494,7 +496,8 @@ export abstract class RenderItem<E extends ERenderItemEvent = ERenderItemEvent>
|
||||
*/
|
||||
setAlpha(alpha: number) {
|
||||
this.alpha = alpha;
|
||||
this.update();
|
||||
// 设置不透明度时,不需要更新自身的缓存,直接调用父元素的更新即可
|
||||
this._parent?.update();
|
||||
}
|
||||
|
||||
setHD(hd: boolean): void {
|
||||
@ -521,7 +524,8 @@ export abstract class RenderItem<E extends ERenderItemEvent = ERenderItemEvent>
|
||||
setAnchor(x: number, y: number): void {
|
||||
this.anchorX = x;
|
||||
this.anchorY = y;
|
||||
this.update();
|
||||
// 设置锚点时,不需要更新自身的缓存,直接调用父元素的更新即可
|
||||
this._parent?.update();
|
||||
}
|
||||
|
||||
/**
|
||||
@ -609,7 +613,8 @@ export abstract class RenderItem<E extends ERenderItemEvent = ERenderItemEvent>
|
||||
}
|
||||
|
||||
updateTransform() {
|
||||
this.update();
|
||||
// 更新变换矩阵时,不需要更新自身的缓存,直接调用父元素的更新即可
|
||||
this._parent?.update();
|
||||
this.emit('transform', this, this._transform);
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user