argh, our docs are certainly lacking in there
here is the short rundown (i refer to mobile/gles rendering, as desktop simply ignores it for now)
if we speak about tiled renderer the idea is that you might have resolve (save from tile to “VRAM”) and restore (load from “VRAM” to tile) and both are kinda slow (well - it is extra copy through the bus).
Resolve happens if you dont do discard (GL api, bear with me for unity one) at the end of the rendering (more precisely, before setting different fbo)
Restore happens when you set new FBO as current and fail to do clear (clear tells driver that we dont need old contents, so no need to restore).
So what do DiscardContents do:
it marks appropriate render buffers (there are bools in there) to be forcibly cleared next time you activate the RenderTexture
IF you call it on active RT it will discard when you will set another RT as active.
Hope this helps.
P.S. mandatory advertising: we fixed some bugs around it (i dont remember the exact version but should be there soon if not now) and for 4.5 iirc we really cleaned up our stuff regarding setting FBO, so on mobiles it will be done in most efficient way (no unneeded setting fbo = no unneeded restore/resolve)
Can you please Alex update the documentation?
At least add this part:
So what do DiscardContents do? 1. It marks appropriate render buffers (there are bools in there) to be forcibly cleared next time you activate the RenderTexture 2. If you call it on active RT it will discard when you will set another RT as active.