You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Currently stripped executables don't provide much profiling visibility, however...
The way Godot Sandbox works is that you have tons of nodes each of which perform computations through entry functions exposed through the public API. So, given a large system, just having the entry functions should yield useful information. However, whenever the profiler samples another function, let's say a private function or one from the C++ API, then there is no data to go by.
I think we can solve this by also sampling the entry address, which we have, so that if there's nothing to go by for sampling, at least the entry function should be there.
This commit adds visibility to the public API for profiling, which is step 1. Step 2 is then to also sample the entry address along with the sampled PC, and then fall back to that. Of course, all these issues evaporate once someone builds all the programs with full symbol table, but sometimes that's not possible - and imagine how useful profiling is if you can still get information even though everything is release-stripped.
The text was updated successfully, but these errors were encountered:
Currently stripped executables don't provide much profiling visibility, however...
The way Godot Sandbox works is that you have tons of nodes each of which perform computations through entry functions exposed through the public API. So, given a large system, just having the entry functions should yield useful information. However, whenever the profiler samples another function, let's say a private function or one from the C++ API, then there is no data to go by.
I think we can solve this by also sampling the entry address, which we have, so that if there's nothing to go by for sampling, at least the entry function should be there.
This commit adds visibility to the public API for profiling, which is step 1. Step 2 is then to also sample the entry address along with the sampled PC, and then fall back to that. Of course, all these issues evaporate once someone builds all the programs with full symbol table, but sometimes that's not possible - and imagine how useful profiling is if you can still get information even though everything is release-stripped.
The text was updated successfully, but these errors were encountered: