We tried running to do a performance comparison of our game with Vulkan integrated in out built and one without it(OpenGL). When we ran the Vulkan built apk and tried to capture some streamline data we seem to not get some data like "Frame Rate, Draw Calls, Indirect Draw Calls...etc" to show up. But the same shows up on a regular build.Could anyone guide us on why that is happening and what we can do to get the data on streamline for the same.
Device: Samsung A50
Streamline captured data on the Vulkan build:
Streamline captured data on a standard(OpenGL) build:
Hi Rohan, The latest "light weight interceptor" in Mobile Studio 2020.2 (part of Performance Advisor) includes Vulkan annotations - although it can't do full API tracing in Graphics Analyzer - it's just monitoring for profiling. It is also possible for an application to add arbitrary software counters manually using the Streamline annotations.
Hi Peter,Thanks a bunch for the getting back. :) So do you suggest that we instrument the build so we can manually add the counters in rather than get those "automatically" from the interceptor?Regards.
Does the Light Weight Interceptor for Performance Advisor in Mobile Studio 2020.2 give you what you need?
If it doesn't I'd like to know what's missing, but manual annotation with Streamline software counters is always available as a fallback.
Oh! I am using the PA in Mobile Studio 2020.2. Sorry, I did not mention that earlier. :)I don't see, Frame rate, Draw Calls, Indirect Draw Calls, Vertices and Renderpasses. They all show up as default on the OpenGL Build.Regards.
Thanks for confirming, we'll take a look and double check what's implemented.
One more check - what's the full command you are using for lwi_me.py?The command needs to know to the API to set up the right interceptor - you'll need --lwi-api vulkan.
I was not using the --lwi-api vulkan option, thanks for pointing that out. :) I now also added the --lwi-vk-layer-lib-path in, as I am using Android 9, but I noticed that there was no libVkLayerLWI64.so file under the unrooted folder, so I used the libVkLayerLWI64.so file that was under the rooted folder. So my command now looks like this
python3 '/Applications/Arm_Mobile_Studio_2020.2/performance_advisor/lwi/helpers/lwi_me.py' --daemon '/Applications/Arm_Mobile_Studio_2020.2/streamline/bin/arm64/gatord' --lwi on --lwi-fps-threshold 10 --lwi-frame-gap 100 -M tag --lwi-mode tag --lwi-gles-layer-lib-path '/Applications/Arm_Mobile_Studio_2020.2/performance_advisor/lwi/target/android/arm/unrooted/arm64-v8a/libGLES_layer_lwi.so' --lwi-out-dir /Users/rohanpattada/Delete55 --package com.test.test --lwi-fps-threshold 10 --lwi-frame-gap 100 -M tag --lwi-mode tag --lwi-api vulkan --lwi-vk-layer-lib-path /Applications/Arm_Mobile_Studio_2020.2/performance_advisor/lwi/target/android/arm/rooted/arm64-v8a/libVkLayerLWI64.soI noticed that the Counters started showing up during the run, but only FPS seems to be returning values, the rest of the counters like Draw Calls, Indirect Draw Calls & Vertices... that reappeared are blank, has no values are being returned.
Checking with the team here, and FPS is all we expect to work for Vulkan at the moment. Some of the others can be made to work in future, but require us to efficiently handle some state tracking and caching for parts such as secondary command buffers. This is on the roadmap to add, but it's not there today.Which of the missing parts do you view as particular priorities - we can try and tackle those first =)
Kind regards, Pete
Thanks for getting back and for all the help. :)
Thanks again for the help.
View all questions in Graphics and Gaming forum