Hi,
For reasons unknown to me, the $FrameRateEGLContext**** (the **** representing the memory address, or equivalent suffix) counter seems to be absent from some of my captures and I'm struggling to understand what could be the reason. During some captures using a Samsung S10e I got that counter popping up. I'm doing captures of a Unity application (debuggable) but I can't recall having changed anything that might influence this.
I'm selecting the template counters for the G76 (as far as I can tell there's no counter in there representing this one, which probably points to the issue I'm having).
Do you have any idea why this might happen? I'm using Arm Mobile Studio 2020 btw.
Hi JPJ, Three possible reasons.
Firstly, this is a software counter generated by either the Graphics Analyzer interceptor or the Performance Advisor light weight interceptor. If you run a Streamline capture without an interceptor layer driver installed you will get the hardware counters from the Mali GPU, but not any of the software generated counters (FPS, draw calls per frame, etc).
Secondly, if you are running Android 10 you will need to use the operating system layer driver loader for injecting the OpenGL ES interceptor, not the "legacy" method of including the Graphics Analyzer / MGD libraries in the Unity build. This is due to a change in how Android loads the OpenGL ES libraries in Android 10, which conflicts with the interceptor built into the APK. We released Mobile Studio 2020.1 yesterday which enables use of the Android 10 OpenGL ES layer drivers when using the Performance Advisor light-weight interceptor setup script (lwi_me.py), so this should now be supported for both GA and PA workflows.
Finally, if you are using the Streamline templates for selecting a data visualization in the Timeline view, the template does not include the software counters. Our current template technology cannot cope with the fact that the counter name changes, due to the address suffix - we're hoping to fix this later this year. You can re-add the software counter charts (or indeed, any chart) to the Timeline using the chart menu in the top left of the Timeline view.
Let us know if this helps, Kind regards, Pete
Hi Pete,
First, I didn't know about that release, so thanks for letting me know :) - will upgrade. Second, I believe I forgot that for some builds libMGD might've been included in that apk (and I totally forgot). This would explain the interceptor.
I haven't looked at the docs yet, but assuming I also want to get those software counters together with HW ones in Streamline in Android 10, should I use the lwi_me.py script rather than the gator_me.py one?
Hi JPJ,
JPJ said:First, I didn't know about that release, so thanks for letting me know :)
It literally went out the door yesterday, so hot off the press and we've not had much time to publicise it.
JPJ said:Second, I believe I forgot that for some builds libMGD might've been included in that apk (and I totally forgot). This would explain the interceptor.
Note for Android 10 if you have the interceptor built-in the behavior is racy, both the interceptor and the OS try to patch up the API symbols at the same time. It might seem to work ... some of the time ...
JPJ said:should I use the lwi_me.py script rather than the gator_me.py one?
For just counter and software annotations, yes. The light weight interceptor has much lower overhead than the full Graphics Analyzer interceptor (but can't do API capture / debug).
Cheers, Pete
Cool! Thanks Pete!