MCPcopy Create free account
hub / github.com/defold/defold / InitializeProfiler

Function InitializeProfiler

engine/profiler/src/profiler.cpp:975–1026  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

973////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
974
975static dmExtension::Result InitializeProfiler(dmExtension::Params* params)
976{
977 // Should CPU sample tracking be run each step?
978 // This is enabled by default in debug, but can be turned on in release via project config.
979 dmProfiler::g_TrackCpuUsage = dLib::IsDebugMode();
980 if (dmConfigFile::GetInt(params->m_ConfigFile, "profiler.track_cpu", 0) == 1)
981 {
982 dmProfiler::g_TrackCpuUsage = true;
983 }
984 dmProfiler::g_TrackDetailedMemory = dmConfigFile::GetInt(params->m_ConfigFile, "profiler.track_detailed_memory", 0) == 1;
985
986 static const luaL_reg Module_methods[] =
987 {
988 {"get_memory_usage", MemoryUsage},
989 {"get_cpu_usage", CPUUsage},
990 {"get_lua_ref_count", GetLuaRefCount},
991 {"enable", EnableProfiler},
992 {"enable_ui", EnableProfilerUI},
993 {"set_ui_mode", SetProfileUIMode},
994 {"set_ui_view_mode", SetProfilerUIViewMode},
995 {"set_ui_vsync_wait_visible", SetProfileUIVSyncWaitVisible},
996 {"recorded_frame_count", ProfilerUIRecordedFrameCount},
997 {"view_recorded_frame", ProfilerUIViewRecordedFrame},
998 {"log_text", ProfilerLogText},
999 {"dump_frame", ProfilerDumpFrame},
1000
1001 {"scope_begin", ProfilerScopeBegin},
1002 {"scope_end", ProfilerScopeEnd},
1003
1004 {0, 0}
1005 };
1006
1007 luaL_register(params->m_L, "profiler", Module_methods);
1008
1009 lua_pushnumber(params->m_L, (lua_Number) dmProfileRender::PROFILER_MODE_RUN);
1010 lua_setfield(params->m_L, -2, "MODE_RUN");
1011 lua_pushnumber(params->m_L, (lua_Number) dmProfileRender::PROFILER_MODE_PAUSE);
1012 lua_setfield(params->m_L, -2, "MODE_PAUSE");
1013 lua_pushnumber(params->m_L, (lua_Number) dmProfileRender::PROFILER_MODE_SHOW_PEAK_FRAME);
1014 lua_setfield(params->m_L, -2, "MODE_SHOW_PEAK_FRAME");
1015 lua_pushnumber(params->m_L, (lua_Number) dmProfileRender::PROFILER_MODE_RECORD);
1016 lua_setfield(params->m_L, -2, "MODE_RECORD");
1017
1018 lua_pushnumber(params->m_L, (lua_Number) dmProfileRender::PROFILER_VIEW_MODE_FULL);
1019 lua_setfield(params->m_L, -2, "VIEW_MODE_FULL");
1020 lua_pushnumber(params->m_L, (lua_Number) dmProfileRender::PROFILER_VIEW_MODE_MINIMIZED);
1021 lua_setfield(params->m_L, -2, "VIEW_MODE_MINIMIZED");
1022
1023 lua_pop(params->m_L, 1);
1024
1025 return dmExtension::RESULT_OK;
1026}
1027
1028static dmExtension::Result UpdateProfiler(dmExtension::Params* params)
1029{

Callers

nothing calls this directly

Calls 4

IsDebugModeFunction · 0.85
lua_pushnumberFunction · 0.85
lua_setfieldFunction · 0.85
GetIntFunction · 0.50

Tested by

no test coverage detected