We are uploading the apk file with the *.so debug symbol file. In the attached console variable config file you can see that we even tried with debug shaders enabled. We also tried various flags via the UEcommanline.Text that is utilized to pass commandline arguments on Android builds.
We also reverted the hotfiix for issue
..\VulkanRHI\Private\VulkanDevice.h
// HOTFIX for UE-218250: Disable vulkan debug names to get around crash/performance issues
#define VULKAN_USE_DEBUG_NAMES 1
..\VulkanRHI\Public\VulkanConfiguration.h
#define VULKAN_SHOULD_ENABLE_DRAW_MARKERS 1
So far we have had no luck and we were hoping you could assist us with this issue that was not present in UE 5.4.
Thanks for pointing out the specific CL that helped us get back the markers.
Is there something else we are missing to see the GPU timings on the submitted queues at the sublevels beyond the highest levels of the command buffer queue submissions. Like in the image shared above the sub timings for MobileSceneRender Pass or the FXSystemPReRender Pass. Additionally, If you can suggest a better vulkan profiling tool itself over Android Graphics Inspector for Android to get more detailed counters and timings consistently then we would be open to explore that option as well if it would be possible for us.
Also, can we strip out Engine content like WorldGridMaterial, default textures to reach the minimum overhead. Excluding Editor content via the project settings does not reduce that data set.
P.S. - I can create a new ticket/s if needed for these questions if they should be separate questions.
“Is there something else we are missing to see the GPU timings on the submitted queues at the sublevels beyond the highest levels of the command buffer queue submissions” - this may be a limitiation of Android Graphics Inspector. You could try RenderDoc, ARM Performance Studio (compatible with ARM MALI based devices) or SnapDragon Profile (compatible with Qualcomm Adreno based devices).
“can we strip out Engine content like WorldGridMaterial, default textures to reach the minimum overhead. Excluding Editor content via the project settings does not reduce that data set.” This should work as designed. Are you able to confirm that the unused assets are in the final binary?
Thanks, yeah I understand it might be the limitation of the tools available on mobile as well. just trying to get as close as possible to Windows/Console level metrics. And was wondering if Epic had any particular suggestion given how widely Forntnite is played on mobile as well. And we felt stymied after spending a fair amount of time on researching the various tools. So, if there was any tool that Epic recommends particularly, that works out of the box (without additional modifications) and provides further detailed metrics. We would greatly appreciate that information.
As for the other question -
As you can see below we have enabled the Exclude editor content from packaged build setting
[Image Removed]
This Empty level is for demonstration and assessing Engine Overhead costs only.
[Image Removed]
As you can see below and we have backtracked quite a few of these to be Engine fallback assets that we would want to get rid of easily. If possible that is -
[Image Removed]
What’s weird is, as per your recommendation after extracting the .apk and .obb file browsing to the Engine directory, very limited files were present none of which seemed like these assets which made this all the more confusing as to how it was getting picked up by the Graphical debugger. But for reference I have added the files under the Engine directory further below -
main.obb\Engine\Content\Renderer
Engine\Extras\GPUDumpViewer
Engine\Content\SlateDebug\Fonts
And Engine\Config - just contains .ini files
[Image Removed]
Hope this helps, let me know if you want me to grab more information. Thanks for the patience and assist.
As far as the GPu profiling tools question, you may additionally try Insights built into UE. I believe it’s had a few fixes since 5.5 but should still work on that version.
As for Editor content exclusion, this setting would only exclude content from Engine/Content/Editor* and Engine/Content/VREditor*.
Commit: 020b2f23e92ef7638145a95c773f76ed2b83bfe1 [020b2f2]
Parents: 37aec98f00
Author: mans isaksson <[Content removed]>
Date: 12 September 2025 05:57:00
Committer: mans isaksson
Fix crash when modifying displacement texture on Mesh Builder node
#rb Zohaib.Javed
#jira APU-538
[CL 45772615 by mans isaksson in 5.7 branch]
Commandline args for android Intent activity that was pushed to the device -
[Image Removed]UE 5.7 Insights Test - Timing Insights Tab
As you can see in the timing captures window we don’t see anything for the GPU trace when testing on an actual Android Device with insights. Please let us know if you would like us to test anything further.
Under 5.7, you’ll want r.Android.SupportsTimestampQueries=1 to enable the Insights GPU track. It will also function with a lot more precision if you have a device supporting the
Is there a quick list of CLs you might recommend if we want to backport this to UE5.5.4. We are awaiting an official release of UE5.7 but in the meantime being able to even backport just this would be greatly helpful to us.
Sadly, much of the profiler upgrades and developments were done in tandem with the redevelopment of a parallel Vulkan rendering pipeline so back porting this to 5.5.4 would be extremely difficult.
Thanks for that, but on deeper inspection I found that the same r.Android.SupportsTimestampQueries exists in 5.5.4 as well in the AndroidApplication.cpp file and is functional with the version of insights as well. The GPU markers are slightly less than the Newer version but we can add those in where we need.
This is the complete list of arguments that I am passing for reference.
-ExecCmds="r.Android.SupportsTimestampQueries 1" -tracehost=127.0.0.1 -trace=default,memory,Bookmark,Frame,CPU,GPU,LoadTime,File -cpuprofilertrace -statnamedevents -filetrace -loadtimetrace -vulkan -verbosenamedevents -forcevulkanddrawmarkers -vulkandebugmarkers -vulkandebugutils -vknNamedEvents=1 -r.EmitMeshDrawEvents=1 -r.RHISetGPUCaptureOptions=1 -r.Android.SupportsTimestampQueries=1 NOTE:- was facing some issues while trying to set the variable value via
-r.Android.SupportsTimestampQueries=1 so I added a redundancy of -ExecCmds=“r.Android.SupportsTimestampQueries 1”
Thanks for the patience and support.
I think we have everything we need and we can close out this ticket now
Yes indeed, that functionality is hidden behind the r.Android.SupportsTimestampQueries= CVar. This is due to the high overhead of Vulkan timestamp queries which can bog down certain devices quite significantly. Ensure to use a relatively high powered device for this. You’ll also see better measurements with devices supporting the VK_EXT_calibrated_timestamps vulkan extension. Device will also need to support timestampComputeAndGraphics properly.