Skip to content

【Core】3D 场景销毁后存在内存泄漏 #1853

@Geequlim

Description

@Geequlim

Describe the bug

  1. 场景销毁后(场景资源也调用了销毁)部分资源没有释放
  2. 3D 场景创建并销毁后,渲染场景的 RenderTexture 没有被释放
  3. 多次 加载/销毁 场景后 游戏帧率下降明显

To Reproduce

提供本地测试的构建包,可以通过替换引擎库来验证修复

第一个问题 复现 demo

  1. 点击上方连接打开测试 demo
  2. 点击性能检测面板,留意堆内存分配状态
  3. 点击 加载场景 等待场景加载并展示完成
    • 为了表现明显故意提供一个比较大的场景首次加载需耐心等待
  4. 点击 卸载场景
  5. 控制台查看 Laya.Loader.loadedMap 可以看到有大量资源没被释放
  6. 再次查看堆内存分配状态,可以看到内存不会降回去

第二个问题 复现 Demo

  1. 点击上方连接打开测试 demo
  2. 点击性能检测面板,留意 RenderTexture 内存分配状态为 0
  3. 点击 加载场景 等待场景加载并展示完成
  4. 点击 卸载场景
  5. 再次查看RenderTexture 内存分配状态,可以看到内存不会降回去

引擎版本:
LayaAir 3.3 beta3

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions