I'm testing the performance of Vulkan vs. OpenGLES using the samples provided here:
I modified the code to output an 8x8x8 cube of tori(donut) geometry. This seems to provide the GPU with some work and still run at 60fps.
I'm using a Huawei Mate 9 (Mali-G71) and am getting significantly higher GPU bandwidth (more than 20%) using Vulkan than with OpenGL ES, which I find puzzling. Both the Vulkan and OpenGL apps use direct set uniforms (push constants) and appear to have the same formats across all images/textures. They have the same formats when it comes to vertex attributes and the like.
Any ideas of where this extra bandwidth might be coming from? Is there a way to know whether or not Transaction Elimination is working on either Vulkan or OpenGLES?
Likely either framebuffer compression or transactional elimination.
There is a "transactions elimited" (or something worded similar to that) counter in Streamline which is useful.