when methods successfully added (via profiler hierarchy, methods explorer or component) and performance stays normal, it works great so far
hard to tell in profiler hierarchy view which samples were added due to selection. suggestions:
customize sample names (seems to be the case in some screenshots in documentation?)
change background color of the row
display an icon somewhere
adding class names to sample names should be an option, otherwise it might get confusing. especially when using deep profiling
Add profiling via component context menu
"Component->enable profiling on all" takes a long time (~45s on one of our biggest components (character class with 385 methods), ~15s on medium sized component (health class with 115 methods))
when adding during runtime: can i only turn this off again by going to the same component? methods do not show up in the Selective Profiling window when added this way. can be easily forgotten.
nice to have: option to only add methods of this class specifically (basically excluding inherited methods). or maybe allow fine grained selection of full inheritance tree?
could this also be added to script file context menu? so it doesn't only work on components
NOTE: most runtime performance issues described below might be caused by high deep profiling depth when adding the methods (i set it to 5 for testing early on and forgot it for a while).
performance drop (to below 1fps) after adding profiling for medium sized component during playmode. disabling this again takes ~120s, but performance still low
the component does not have any expensive update functions, it should only incur profiling overhead when actually triggering character/health specific events such as damaging an NPC
UnitySynchronizationContext.ExecuteTasks with ~3000ms and allocating a few MB each frame
complete editor hang when adding ^ this expensive thing to selective profiling
also complete editor hang when triggering some health related events (component that was added to profile)
editor hangs a while after enabling profling for big component (see above) in editmode and bad performance afterwards
EditorApplication.Internal_CallUpdateFunctions with ~2000ms per frame and a few hundred (!) MB GC Alloc per frame
stabilizes after a while?
same behaviour when removing all methods again, but does not seem to stabilize or takes way longer
can be reproduced by 1) starting unity 2) adding component 3) removing all methods in Selective Profiling window
Tech specs:
Intel-i5 10400 @2.9GHz
32GB RAM
Project & Unity install on nvme SSD
Playmode normally runs at 90-100FPS on this machine in the scene i was testing
General
Add profiling via component context menu
Tech specs:
Intel-i5 10400 @2.9GHz 32GB RAM Project & Unity install on nvme SSD Playmode normally runs at 90-100FPS on this machine in the scene i was testing