You've already forked Nitro_Render_V3
mirror of
https://github.com/duckietm/Nitro_Render_V3.git
synced 2026-06-19 15:06:20 +00:00
🆙 Memory usage fixes
This commit is contained in:
@@ -315,6 +315,9 @@ export class AvatarImage implements IAvatarImage, IAvatarEffectListener
|
||||
|
||||
const url = canvas.toDataURL('image/png');
|
||||
|
||||
canvas.width = 0;
|
||||
canvas.height = 0;
|
||||
|
||||
return url;
|
||||
}
|
||||
|
||||
|
||||
+6
@@ -23,6 +23,12 @@ export class ImageData
|
||||
|
||||
public dispose(): void
|
||||
{
|
||||
if(this._container)
|
||||
{
|
||||
this._container.destroy({ children: true });
|
||||
this._container = null;
|
||||
}
|
||||
|
||||
this._texture = null;
|
||||
this._regPoint = null;
|
||||
this._colorTransform = null;
|
||||
|
||||
@@ -117,7 +117,12 @@ export class RoomCameraWidgetManager implements IRoomCameraWidgetManager
|
||||
|
||||
TextureUtils.writeToTexture(container, renderTexture);
|
||||
|
||||
return await TextureUtils.generateImage(renderTexture);
|
||||
const image = await TextureUtils.generateImage(renderTexture);
|
||||
|
||||
renderTexture.destroy(true);
|
||||
container.destroy({ children: true });
|
||||
|
||||
return image;
|
||||
}
|
||||
|
||||
public get effects(): Map<string, IRoomCameraWidgetEffect>
|
||||
|
||||
@@ -164,6 +164,18 @@ export class AvatarVisualization extends RoomObjectSpriteVisualization implement
|
||||
|
||||
if(this._avatarImage) this._avatarImage.dispose();
|
||||
|
||||
if(this._cachedAvatars)
|
||||
{
|
||||
for(const avatar of this._cachedAvatars.getValues()) avatar && avatar.dispose();
|
||||
this._cachedAvatars.reset();
|
||||
}
|
||||
|
||||
if(this._cachedAvatarEffects)
|
||||
{
|
||||
for(const avatar of this._cachedAvatarEffects.getValues()) avatar && avatar.dispose();
|
||||
this._cachedAvatarEffects.reset();
|
||||
}
|
||||
|
||||
if(this._reflectionOppositeTexture)
|
||||
{
|
||||
this._reflectionOppositeTexture.destroy(true);
|
||||
|
||||
@@ -27,6 +27,17 @@ export class IsometricImageFurniVisualization extends FurnitureAnimatedVisualiza
|
||||
this._photoUrl = null;
|
||||
}
|
||||
|
||||
public dispose(): void {
|
||||
if (this._thumbnailTexture instanceof RenderTexture) {
|
||||
this._thumbnailTexture.destroy(true);
|
||||
}
|
||||
|
||||
this._thumbnailTexture = null;
|
||||
this._thumbnailImageNormal = null;
|
||||
|
||||
super.dispose();
|
||||
}
|
||||
|
||||
public get hasThumbnailImage(): boolean {
|
||||
return !(this._thumbnailImageNormal == null);
|
||||
}
|
||||
|
||||
@@ -158,6 +158,16 @@ export class RoomPlane implements IRoomPlane
|
||||
this._animationLayers = [];
|
||||
}
|
||||
|
||||
this._windowReflectionLastVisible.clear();
|
||||
this._windowReflectionFadeOut.clear();
|
||||
this._windowReflectionFirstSeenAt.clear();
|
||||
|
||||
if(this._maskFilter)
|
||||
{
|
||||
this._maskFilter.destroy();
|
||||
this._maskFilter = null;
|
||||
}
|
||||
|
||||
this._disposed = true;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user