【Defold】Profiler API の紹介
Defold Engineの Profiler reference に載っている機能を紹介します。ビジュアルで説明した方が分かりやすそうなものに関しては、スクリーンショットも付けています。
目次
確認バージョン
1.2.159
関数
profiler.enable_ui
-- Profilerを表示します。
profiler.enable_ui(true)
profiler.get_cpu_usage
アプリケーションのCPU使用率を取得する。プラットフォーム「HTML5」では使用不可。
local percent = profiler.get_cpu_usage()
print(percent)
profiler.get_memory_usage
アプリケーションのメモリ使用率を取得する。 単位はbyte。プラットフォーム「HTML5」では使用不可。
-- Byteで取得できる
local byte = profiler.get_memory_usage()
print(string.format("%d byte", byte))
-- KB変換
local kb = (byte + 1023) / 1024;
print(string.format("%d kb", kb))
-- MB変換
local mb = (kb + 1023) / 1024;
print(string.format("%d mb", mb))
profiler.set_ui_mode
プロファイラの内容を設定します。
profiler.MODE_RUN | デフォルト設定。最後のフレームを表示する |
profiler.MODE_PAUSE | 現在表示されているフレームで停止した内容を表示する |
profiler.MODE_SHOW_PEAK_FRAME | 現在表示されているフレームで停止するが、停止したフレームが遅い場合は新しいフレームで停止する。 |
profiler.MODE_RECORD | プロファイリング内容をバッファに記録する。 profiler.MODE_PAUSEや profiler.MODE_RUN を呼ぶと記録は停止する。 |
function start_recording()
-- 計測の記録開始
profiler.set_ui_mode(profiler.MODE_RECORD)
end
function stop_recording()
-- 計測の記録終了
profiler.set_ui_mode(profiler.MODE_PAUSE)
end
profiler.recorded_frame_count
profiler.MODE_RECORDで記録し始めてからのフレーム数を取得する。
function init(self)
profiler.enable_ui(true)
profiler.set_ui_mode(profiler.MODE_RECORD)
end
function update(self, dt)
local recorded_frame_count = profiler.recorded_frame_count()
print(string.format("recorded_frame_count %d", recorded_frame_count))
end
profiler.view_recorded_frame
profiler.MODE_RECORDで記録しているフレームバッファから、指定したフレームのプロファイル結果を表示する。
profiler.view_recorded_frame({distance = -1})
profiler.set_ui_view_mode
Profiler表示の見た目を変更します。デフォルトは profiler.VIEW_MODE_FULL。
profiler.VIEW_MODE_MINIMIZED | 最小限のプロファイリングのみ表示する。 |
profiler.VIEW_MODE_FULL | 全てのプロファイリングのみ表示する |
profiler.set_ui_vsync_wait_visible
プロファイラ表示が有効である場合のVSync.WaitをON・OFFできる。
-- VSync.Wait表示をOFF
profiler.set_ui_vsync_wait_visible(false)