It’s been a terrific year for the Mali™ Developer Resources team this year, with the Mali Graphics Debugger being released along with support for the ARM® Mali-T604 in ARM DS-5™ Streamline™.
The Mali Graphics Debugger was announced publicly at GDC 2013 in San Francisco, and was released a few weeks later on our website. It is available free of charge and during its six months of life it has already helped a lot of developers to debug and optimize their games and 3D applications running on Mali GPUs.
Mali Graphics Debugger is a tool for content developers to debug their graphic applications. It traces all the API calls that the application makes; in particular it supports OpenGL® ES 2.0, 3.0 and EGL™. It is useful to help understand issues and causes at frame level and it is complementary to DS-5 Streamline, which gives a system wide view of the performance of the application.
Whilst we continue to release updates to the tool (on average one every two months) to add new features, to improve its speed and to fix bugs, we are educating developers on how to use it in combination with Streamline to analyse the performance and to debug mobile games in several conferences around the world.
After the first announcement of the tool at GDC, I have given this presentation at Gamelab (Barcelona), Nordic Game Conference (Malmö), Develop (Brighton), Campus Party (London) and more recently at Korean Games Conference (Seoul).
The presentation explains how to use DS-5 Streamline to work out the contributing factors when it comes to performance of a mobile application. It could be that the CPU is too busy, in this case the GPU will stay idle waiting for the former; or it could be fragment bound, a very common case in mobile games, which means that too much time is spent in the fragment shader. Less common but still important is the case when the application is vertex bound, which usually means that there are too many vertices in the scene and techniques like LOD (level of detail) and culling should be used to reduce this number. Finally, we have the case when an application is bandwidth bound: this is especially important on mobile platforms because they do not have the same bandwidth as desktop machines and high bandwidth usage is one of the main culprits of low power efficiency.
Fortunately each of these issues can be attacked with many techniques. The Mali Graphics Debugger can help you find out why there is a particular problem, by showing how a frame is rendered, which object has more vertices, what fragment and vertex shaders are too long and may take too much time to execute and whether texture compression is properly used.
The presentation “Profiling and Debugging Games on Mobile Platforms” is fully available at Profiling And Debugging Games On Mobile Platforms, presentation for Campus Party Europe 2013, in The O2, London.
The Mali Graphics Debugger is available here for free download along with a range of supportive developer materials including tools, sample code, drivers and documentation.
If you have any questions, please ask them via the comments section below.