diff options
Diffstat (limited to 'meta/3rd/Defold/library/profiler.lua')
-rw-r--r-- | meta/3rd/Defold/library/profiler.lua | 89 |
1 files changed, 89 insertions, 0 deletions
diff --git a/meta/3rd/Defold/library/profiler.lua b/meta/3rd/Defold/library/profiler.lua new file mode 100644 index 00000000..ed2a36fa --- /dev/null +++ b/meta/3rd/Defold/library/profiler.lua @@ -0,0 +1,89 @@ +---Profiler API documentation +---Functions for getting profiling data in runtime. +---More detailed profiling <https://www.defold.com/manuals/profiling/> and debugging <http://www.defold.com/manuals/debugging/> information available in the manuals. +---@class profiler +profiler = {} +---pause on current frame +profiler.MODE_PAUSE = nil +---start recording +profiler.MODE_RECORD = nil +---continously show latest frame +profiler.MODE_RUN = nil +---pause at peak frame +profiler.MODE_SHOW_PEAK_FRAME = nil +---show full profiler ui +profiler.VIEW_MODE_FULL = nil +---show mimimal profiler ui +profiler.VIEW_MODE_MINIMIZED = nil +---Creates and shows or hides and destroys the on-sceen profiler ui +---The profiler is a real-time tool that shows the numbers of milliseconds spent +---in each scope per frame as well as counters. The profiler is very useful for +---tracking down performance and resource problems. +---@param enabled boolean # true to enable, false to disable +function profiler.enable_ui(enabled) end + +---Get the percent of CPU usage by the application, as reported by the OS. +--- This function is not available on HTML5. +---For some platforms ( Android, Linux and Windows), this information is only available +---by default in the debug version of the engine. It can be enabled in release version as well +---by checking track_cpu under profiler in the game.project file. +---(This means that the engine will sample the CPU usage in intervalls during execution even in release mode.) +---@return number # of CPU used by the application +function profiler.get_cpu_usage() end + +---Get the amount of memory used (resident/working set) by the application in bytes, as reported by the OS. +--- This function is not available on HTML5. +---The values are gathered from internal OS functions which correspond to the following; +--- +---OS Value +--- iOS MacOSAndrod Linux <https://en.wikipedia.org/wiki/Resident_set_size> Resident memory +--- Windows <https://en.wikipedia.org/wiki/Working_set> Working set +--- HTML5 Not available +---@return number # used by the application +function profiler.get_memory_usage() end + +---Send a text to the profiler +---@param text string # the string to send to the profiler +function profiler.log_text(text) end + +---Get the number of recorded frames in the on-screen profiler ui recording buffer +---@return number # the number of recorded frames, zero if on-screen profiler is disabled +function profiler.recorded_frame_count() end + +---Starts a profile scope. +---@param name string # The name of the scope +function profiler.scope_begin(name) end + +---End the current profile scope. +function profiler.scope_end() end + +---Set the on-screen profile mode - run, pause, record or show peak frame +---@param mode constant # the mode to set the ui profiler in +function profiler.set_ui_mode(mode) end + +---Set the on-screen profile view mode - minimized or expanded +---@param mode constant # the view mode to set the ui profiler in +function profiler.set_ui_view_mode(mode) end + +---Shows or hides the time the engine waits for vsync in the on-screen profiler +---Each frame the engine waits for vsync and depending on your vsync settings and how much time +---your game logic takes this time can dwarf the time in the game logic making it hard to +---see details in the on-screen profiler graph and lists. +---Also, by hiding this the FPS times in the header show the time spent each time excuding the +---time spent waiting for vsync. This shows you how long time your game is spending actively +---working each frame. +---This setting also effects the display of recorded frames but does not affect the actual +---recorded frames so it is possible to toggle this on and off when viewing recorded frames. +---By default the vsync wait times is displayed in the profiler. +---@param visible boolean # true to include it in the display, false to hide it. +function profiler.set_ui_vsync_wait_visible(visible) end + +---Pauses and displays a frame from the recording buffer in the on-screen profiler ui +---The frame to show can either be an absolute frame or a relative frame to the current frame. +---@param frame_index table # a table where you specify one of the following parameters: +function profiler.view_recorded_frame(frame_index) end + + + + +return profiler
\ No newline at end of file |