【问题标题】:Unity3d. RenderTexture with Video Player统一3d。使用视频播放器渲染纹理
【发布时间】:2020-12-25 15:25:36
【问题描述】:

在场景中创建(实例)对象时,在自定义脚本(MonoBehaviour)脚本中,会创建一个 RendereTexture 对象,并且在销毁该对象后,是否也释放了 RendererTexture 的内存?

【问题讨论】:

    标签: c# unity3d video render texture2d


    【解决方案1】:

    您可以打开 Profiler 并简单地自己进行测试。

    剧透:我认为不是。

    Afaik any Texture 不会被自动 GC 收集,但需要明确销毁

    如果你想确定你可以简单地做例如

    private void OnDestroy()
    { 
        if(renderTextureReference) Destroy(renderTextureReference); 
    }
    

    在您的组件中。

    也可以看看RenderTexture.Release

    该函数释放渲染纹理使用的硬件资源。纹理本身不会被破坏,使用时会自动重新创建。

    与其他“原生引擎对象”类型一样,重要的是要注意任何渲染纹理的生命周期,并在使用完它们后释放它们,因为它们不会像普通托管类型那样被垃圾收集

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-07-19
      • 1970-01-01
      相关资源
      最近更新 更多