Forums - Brief introduction to Rendering stages in the Trace Capture please?

2 posts / 0 new
Last post
Brief introduction to Rendering stages in the Trace Capture please?
Noah Zuo
Join Date: 2 Jun 17
Posts: 1
Posted: Thu, 2017-06-08 02:36

Hey guys I am recently using Snapdragon profiler to optimize my unity project.

When we use Trace capture, it works fine and we find something like this:

http://i1.buimg.com/1949/2452a822cec165c3.png

My question is: What does the render and GMEM Load exactly mean?

When we zoom in, it looks like this:

http://i1.buimg.com/1949/45f5cf369b863d89.png

What does the "Render" and "GMEM Load" means please? It seems that it is not related to drawcalls.

Thanks,

Noah Zuo

  • Up0
  • Down0
Carlos Dominguez Moderator
Join Date: 27 Jul 15
Location: San Diego
Posts: 110
Posted: Fri, 2017-07-07 09:28

Hi Noah,

I apologize for the late response. The "Rendering Stages" metric captures the surfaces that have been submitted for rendering and how long the GPU took on each stage that it needs to perform with the Adreno GPU being a deferred tiling architecture. I recommend reading the portions of the Adreno Developer Guide that talk about tiling architecture found at: 

https://developer.qualcomm.com/software/adreno-gpu-sdk/tools

Render encompasses the actual drawing as well as storing data from each tile in GMEM to main memory. GMEM Loads happen when a surface copies back from main memory to GMEM (hence 'loading' it) with it's contents before drawing into it. This operation is more often than not an unnintentional behavior and can cause severe slowdowns as it appears to be the case in your application. The Adreno Developer Guide has various examples on how and why this can happen but a good rule of thumb is always making sure the frame buffers get cleared or invalidated after bound and before any draw operations done. Also make sure that there are no mid frame flushes or glReadPixels. 

  • Up0
  • Down0
or Register

Opinions expressed in the content posted here are the personal opinions of the original authors, and do not necessarily reflect those of Qualcomm Incorporated or its subsidiaries (“Qualcomm”). The content is provided for informational purposes only and is not meant to be an endorsement or representation by Qualcomm or any other party. This site may also provide links or references to non-Qualcomm sites and resources. Qualcomm makes no representations, warranties, or other commitments whatsoever about any non-Qualcomm sites or third-party resources that may be referenced, accessible from, or linked to this site.