Unity Shader——GrabPass vs RenderTexture+Camera

GrabPass RenderTexture + Camera
实现难度 简单(只需要在Shader中加上一个抓取屏幕的GrabPass {"TextureName"}) 较GrabPass复杂一些(其实也不复杂就是了)
性能
因为抓取屏幕使用的分辨率和显示屏幕是一致的,所以对带宽影响大。而且在移动设备上,GrabPass虽然不会重新渲染场景,但它往往需要CPU直接读取后备缓冲(back buffer)中的数据,破坏了CPU和GPU之间的并行性,这是比较耗时的,甚至在一些移动设备上这是不支持的。
可以自定义渲染纹理的大小,尽管这种方法需要把部分场景再次渲染一遍,但我们可以通过调整摄像机的渲染层来减少二次渲染时的场景大小,或使用其他方法来控制摄像机是否需要开启。所以效率较好。
posted @ 2020-06-16 09:10  夜里寻星  阅读(560)  评论(0编辑  收藏  举报