Skip to main content
Participant
February 17, 2014
Question

Rendertextures copy their content into each other when using them without clear() after present()

  • February 17, 2014
  • 0 replies
  • 207 views

Hi,

Currently we are using 3 rendertextures with each one having a different size, 512x512, 1024x1024 and 2048x1024. Only one of them is used to draw on it on every frame. The other ones are just updated when needed. One is a dynamic textureatlas and is just cleared when it needs to be defragmented. So I am adding content to it between several frames.

When all rendertextures are in use and one drawcall is done on rendertexture 2 without clear() after present(), the whole content of rendertexure 1 and 3 gets copied to rendertexture 2 for no reason.

Using Intel GPA Frame Analyzer shows that right before DrawIndexedPrimitive a StretchRect command is done.

The description of StretchRect says that the content of the source gets copied into the destination.

That can be very usefull sometimes, but this is not what is wanted, or is this indeed the desired behaviour?

Its is also a very huge problem on IOS devices leading the drawcall to take up to 5 seconds making it currently unusable to have several rendertextures that are not cleared and redrawn each frame.

I know that it was once required to explicitely clear the backbuffer and rendertextures before making a new drawcall on them after present, but this has been deactivated so I am assuming this is not necessary anymore, right?

I created a bugticket which can be found here:

https://bugbase.adobe.com/index.cfm?event=bug&id=3708925

Does someone have the same problem and/or has a workaround for it?

This topic has been closed for replies.