[请益] RenderTexture会造成内存一直消耗吗

楼主: doasgloria (青柳立夏)   2020-05-28 17:02:19
目前做了两支Unity程式
都是透过Camera物件读取画面到target texture
(可能是来自影片 或是场景)
然后将画面透过Compute Shader处理后
贴到盖满 Canvas 的 RawImage 物件上
功能已经达到我的需求
可是我发现 只要开着程式
内存都会不断上升达到100% >///<
我的方式是
https://i.imgur.com/BQhdpfX.png
Result 是最后输出的结果 , ViewXXXXX 都是输入
https://i.imgur.com/ILMoDDA.png
最后在 Update函式中, 把算出的 RenderTexture贴上去
功能没问题
但是问题就是 什么都不做 我的内存也不断上升
到100%就卡死了 T.T
整个游戏中 唯一有在不断UPDATE的只有这部分
感觉应该是这边的问题 但是不确定 !!
有大大可以帮忙猜测可能的原因吗 太感谢了 >.< !!
作者: zxc9764315 (Norus)   2020-05-28 17:05:00
每个update都new一个RT当然会爆炸啊XD
楼主: doasgloria (青柳立夏)   2020-05-28 17:07:00
可是我都是用同一个名称 Result 他不会自动盖掉舍弃吗
作者: wix3000 (痒,好吃)   2020-05-28 17:08:00
不要相信 GC... XD
作者: zxc9764315 (Norus)   2020-05-28 17:20:00
看来你的程式观念还有待加强喔
作者: hala932 (成王败寇)   2020-05-28 17:23:00
你可以试试看update前 先release Result
楼主: doasgloria (青柳立夏)   2020-05-28 17:55:00
我试了先release() 不过会造成 下面新的还没出来时会没画面 我再来想想看方法 T.T
作者: sirius65482 (绝影)   2020-05-28 20:14:00
你把旧的Destroy看看
作者: SecondRun (雨夜琴声)   2020-05-28 22:07:00
只存几个弄成pool呢?
楼主: doasgloria (青柳立夏)   2020-05-29 09:16:00
回报: 在把RawImage.texture贴完后 使用Destroy加个延迟时间: Destroy(theRT, 5f); 这样可以好像可以搞定=w=
作者: cjcat2266 (CJ Cat)   2020-05-29 10:10:00
不要这样做...这样只是给GC徒增负担,然后一直占著60*5份材质内存,就乖乖的重复使用同一个材质吧
楼主: doasgloria (青柳立夏)   2020-05-29 16:31:00
后来改成只用一个了 XD 真的太新手了 !

Links booklink

Contact Us: admin [ a t ] ucptt.com