you can also see the developer profiler video tutorial
- Threads : one line per thread, main thread at bottom
- Scale : scale of smallest time subdivisions is displayed on the bottom-right corner. distance between red time subdivisions is one 60-fps frame
- Profile nodes : hierarchical bottom-up stacked profile nodes
- Special nodes (idle/lock) : all low-level lock/idle/wait/synchronization primitives appear with a special red/yellow colored banner on their profile bars.
- Alt+mousewheel : zoom in/out of the profile report, at the time under the mouse cursor.
- Alt+Ctrl+mousewheel : travel in the profile history frames.
Profile node tooltip
- profile section name (can be the raw function name, or a custom name)
- % usage of total frame time
- duration (in scaled units of time. can be seconds, milliseconds, microseconds, or nanoseconds
- timestamp range : begin time - end time
- cycle count, in raw CPU cycles
- alloc volume
- free volume
- source file
- function name
- callstack : adress:module:function
Main profile report
- standard view
- color chosen by developer in the profile node declaration.
- activated with MemoryView toggle button on the bottom right toolbar
- black profile nodes have no memory transactions
- grey profile nodes have a combination of allocs/frees
- profile nodes whose color go towards yellow have a larger volume of allocation transactions
- profile nodes whose color go towards blue have a larger volume of free transactions
- the brighter the node, the larger the transaction
The node filter textbox allows to quickly search for specific profile nodes. It highlights all nodes whose name matches the input text in bright red, and shows the other ones in grayscale.
For example, if we search for "eval", if will match all the ParticleScriptEvaluator nodes:
- 3 graphs are displayed:
- instant alloc graph (displayed as a red line)
- instant free graph (displayed as a blue line)
- total memory graph (displayed as a light blue surface)
- time graph (displayed as colored bars. the worse the performance, the redder the bar)
- history contains 64 frames by default
- in those 64 frames, frame cache of 5 frames by default, containing the most costly frames. costly frames last for 6 seconds by default in the cache before being evicted
- the 59 remaining slots are used to store the profile reports of the last 59 frames.
- profile cache very useful when running at high framerates, if you want to catch a rare performance drop
all configurable profiler parameters are in "Preferences > Configuration tab > Common > ModuleConfigProfiler"