I'm struggling to understand the values I get from some of the metrics output from the GL scrubber. For instance, on a certain draw call I get around 4K bytes written ("Write Data Total (Bytes)"). I'm rendering to two RGBA8 render targets and the viewport size is 270x480. I'm probably totally misunderstanding the meaning here as I'd expect something in the order of 270*480*8 bytes (~1MB) written. Given the large discrepancy, what is the meaning of that metric?
Adreno Profiler metrics intepretation
Posted: Thu, 2014-11-06 03:02
Hi,
That metric counts the number of bytes written to *system* memory. Adreno is a tile-based architecture, which means that rendering is done to a small amount of graphics memory, which is resolved out to system memory as needed. So by design, the amount of data passing across the memory bus is smaller than what you'd expect.
Sure. But that data has to reach system memory eventually (assuming the textures are being fully used elsewhere - as in every pixel being read at least once), right? Unless there are some optimizations in place that check if a certain tile is already present in the framebuffer... (something in the lines of Mali's Transaction elimintation). In any case, I assume it's safe for me to conclude that the amount of bandwidth spent writing data is that. Please correct me if I 'm wrong.
Cheers for the reply.
My understanding is that Write Bytes we get from Scrubber mostly consists of write traffic generated during tiling process.
It surely isnt the bytes written at RT switch (tile flush). You can however compute Write-Bytes/frame from the Grapher which should include (as i have observed) bytes including color writes/flushes etc.
Write bytes however are not atall available on S805 platforms - Could anyone from Qcom comment on plans to expose color write bytes data for adreno 420 chips via profier?