mirror of
https://github.com/Insality/druid
synced 2025-06-27 10:27:48 +02:00
126 lines
5.3 KiB
Lua
126 lines
5.3 KiB
Lua
--[[
|
|
Generated with github.com/astrochili/defold-annotations
|
|
Defold 1.8.0
|
|
|
|
Profiler API documentation
|
|
|
|
Functions for getting profiling data in runtime.
|
|
More detailed profiling and debugging information available in the manuals.
|
|
--]]
|
|
|
|
---@diagnostic disable: lowercase-global
|
|
---@diagnostic disable: missing-return
|
|
---@diagnostic disable: duplicate-doc-param
|
|
---@diagnostic disable: duplicate-set-field
|
|
|
|
---@class defold_api.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 percent 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 MacOSAndroid Linux
|
|
---Resident memory
|
|
--- Windows
|
|
---Working set
|
|
--- HTML5
|
|
--- Not available
|
|
---@return number bytes 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 frame_count 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
|
|
---
|
|
---profiler.MODE_RUN This is default mode that continously shows the last frame
|
|
---profiler.MODE_PAUSE Pauses on the currently displayed frame
|
|
---profiler.MODE_SHOW_PEAK_FRAME Pauses on the currently displayed frame but shows a new frame if that frame is slower
|
|
---profiler.MODE_RECORD Records all incoming frames to the recording buffer
|
|
---
|
|
---To stop recording, switch to a different mode such as MODE_PAUSE or MODE_RUN.
|
|
---You can also use the view_recorded_frame function to display a recorded frame. Doing so stops the recording as well.
|
|
---Every time you switch to recording mode the recording buffer is cleared.
|
|
---The recording buffer is also cleared when setting the MODE_SHOW_PEAK_FRAME mode.
|
|
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
|
|
---
|
|
---profiler.VIEW_MODE_FULL The default mode which displays all the ui profiler details
|
|
---profiler.VIEW_MODE_MINIMIZED Minimized mode which only shows the top header (fps counters and ui profiler mode)
|
|
---
|
|
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:
|
|
---
|
|
---distance The offset from the currently displayed frame (this is truncated between zero and the number of recorded frames)
|
|
---frame The frame index in the recording buffer (1 is first recorded frame)
|
|
---
|
|
function profiler.view_recorded_frame(frame_index) end
|
|
|
|
return profiler |