New functionality
General
- Relicensed under either of MIT or Apache v2.0 at your option
Core
- Added following functions:
bool profiler::isMainThread()
- Returns true if current thread has been marked as Main. Otherwise, returns falseprofiler::timestamp_t profiler::this_thread_frameTime()
returns last frame duration for current threadprofiler::timestamp_t profiler::this_thread_frameTimeLocalMax()
returns local max of frame duration for current thread. Local max is maximum frame duration since last frameTimeLocalMax() callprofiler::timestamp_t profiler::this_thread_frameTimeLocalAvg()
returns local average of frame duration for current thread. Local average is average frame duration since last frameTimeLocalAvg() callprofiler::timestamp_t profiler::main_thread_frameTime()
returns last frame duration for main threadprofiler::timestamp_t profiler::main_thread_frameTimeLocalMax()
returns local max of frame duration for main thread. Local max is maximum frame duration since last frameTimeLocalMax() callprofiler::timestamp_t profiler::main_thread_frameTimeLocalAvg()
returns local average of frame duration for main thread. Local average is average frame duration since last frameTimeLocalAvg() callbool profiler::isEnabled()
- returns true if profiler is enabledbool profiler::isEventTracingEnabled()
- returns true if event tracing is enabledbool profiler::isLowPriorityEventTracing()
- returns true if event tracing has low prioritybool profiler::isListening()
- returns true if profiler is listening a signal for capturing blocks
- Some errors fixed
GUI
- Added real-time FPS Monitor which shows current max/avg frame time in GUI even if profiler is disabled. You just need to connect to the profiled app. You can close (hide) FPS Monitor and it would not send network requests to the profiled application anymore. You can increase/decrease FPS Monitor requests interval in "Settings -> FPS Monitor -> Request interval, ms". Right click on FPS Monitor window to show context menu in which you can clear contents or hide FPS Monitor.
- Added possibility to change Expected-frame-time via histogram: use Any-modifier (Shift, Ctrl, Alt) + RMB-click
- Added manual version of histogram boundary control:
- Shift + LMB-click (or Wheel) change top boundary
- Ctrl + LMB-click (or Wheel) to change bottom boundary
- Added possibility to adjust selection ruler boundaries (both black and blue rulers)
- Show capture dialog immediately if profiling session has been already enabled. You may now profile everything from the application launch (initialization etc.).
Note: "Frame" means every top-level block (block without parents).