I was hoping to find an answer on that question from a QStrip tool that SDK documentation is talking about. However this tool is missing in the latest SDK - v 3.8. I tried to google it, but everything I've found is two topics about it's issues on this forum.
What are the vertex cache sizes for Adreno 3xx and 4xxx?
Unfortunately the GPU cache size information is prioritary and subject to change in hardware versions. Ordering the vertex indicies by locality by using QStrip or any similar tools is helpful. Also having vertice attributes interleaved can be helpful for the vertex fetch performance.
mhfeldma, thanks for reply.
I know that vertex cache size is different for different hardware.
But if I'll overestimate it's size it will be much worse, that if I'll underestimate it. I assume, that newer hardware will not have smaller vertex cache size. So optimizing geometry for current gen is a good strategy.
P.S. Where I can get the QStrip utility? I could not locate it in Adreno SDK v3.8, however it's mentioned in a few places in documentation.
Unfortunately the QStrip utility has been removed from the SDK, and we don't have an alternative tool to recommend - however you probably can find one with some searching. Given that cache sizes have increased over the years, the impact of optimizing indices is not as great as it was. Using a profiling tool such as Adreno Profiler and understanding what the current bottlenecks in the rendering of your app are, will be much more helpful in boosting performance.
My content pipeline already has a vertex cache optimization stage. So this optimization is free for me, and it would be a crime to not use it. I just need to suply right value for it.
So can you tell me the size of vertex cache of Adreno 3xx and 4xxx?