Fix editor profiler script function sort order

The engine internally limits the number of functions reported back (to
16 by default). To this point, it's been sort the profiling info in
*ascending* order of time spent, then trimming the list. This meant
we may only see the best (fastest) functions, instead of the worst
that you probably want when profiling.

Now the servers_debugger sort more closely matches the local_debugger
one, which worked fine.

(cherry picked from commit 90a5f23e79)
This commit is contained in:
baptr 2024-01-27 16:59:13 -08:00 committed by Rémi Verschelde
parent 93fdca17d0
commit 82d2375382
No known key found for this signature in database
GPG Key ID: C3336907360768E1
2 changed files with 2 additions and 2 deletions

View File

@ -349,7 +349,7 @@ void EditorProfiler::_update_frame() {
category->set_custom_color(0, _get_color_from_signature(m.categories[i].signature)); category->set_custom_color(0, _get_color_from_signature(m.categories[i].signature));
} }
for (int j = m.categories[i].items.size() - 1; j >= 0; j--) { for (int j = 0; j < m.categories[i].items.size(); j++) {
const Metric::Category::Item &it = m.categories[i].items[j]; const Metric::Category::Item &it = m.categories[i].items[j];
TreeItem *item = variables->create_item(category); TreeItem *item = variables->create_item(category);

View File

@ -196,7 +196,7 @@ class ServersDebugger::ScriptsProfiler : public EngineProfiler {
typedef ServersDebugger::ScriptFunctionInfo FunctionInfo; typedef ServersDebugger::ScriptFunctionInfo FunctionInfo;
struct ProfileInfoSort { struct ProfileInfoSort {
bool operator()(ScriptLanguage::ProfilingInfo *A, ScriptLanguage::ProfilingInfo *B) const { bool operator()(ScriptLanguage::ProfilingInfo *A, ScriptLanguage::ProfilingInfo *B) const {
return A->total_time < B->total_time; return A->total_time > B->total_time;
} }
}; };
Vector<ScriptLanguage::ProfilingInfo> info; Vector<ScriptLanguage::ProfilingInfo> info;