diag captureSlowFrame: Difference between revisions

From Bohemia Interactive Community
Jump to navigation Jump to search
(updated with 2.20 updates provided by Dedmen)
(added note about threshold 0 value; added note about Chrome export format - provided by Dedmen)
Line 37: Line 37:
* Mjob
* Mjob
{{!}}}
{{!}}}
{{Feature|informative|
'''Chrome export format''':
Capturing to file also creates a .trace file, which can be imported into chrome://tracing (in chromium based webbrowsers), or https://ui.perfetto.dev/ <br>
The same format can be exported by pressing the "COPY ALL" button, in the capture frame UI, with CTRL key being held down.
this is happening automatically now, right? so just part of the description and nothing parameter related
}}


|s1= [[diag_captureSlowFrame]] [section, threshold, frameSkip]
|s1= [[diag_captureSlowFrame]] [section, threshold, frameSkip]
Line 42: Line 49:
|p1= section: [[String]] - case-sensitive
|p1= section: [[String]] - case-sensitive


|p2= threshold: [[Number]] - section duration in seconds
|p2= threshold: [[Number]] - section duration in seconds. 0 captures always '''IF''' the section you gave as section filter appears inside the given frame. "total" always appears, while "callExt" might not always appear for example


|p3= frameSkip: [[Number]] - number of frames to ignore before measuring
|p3= frameSkip: [[Number]] - number of frames to ignore before measuring
|p3since= arma3 1.18 <!-- estimate, was committed at 2014-03-31 -->
|p3since= arma3 1.18 <!-- estimate, was committed at 2014-03-31 -->


|p4= toFile: [[Boolean]] - if true, doesn't open UI and writes straight to file, note that even if false it might still force to file if it doesn't have a UI, like a server or HC
|p4= toFile: [[Boolean]] - if true, doesn't open UI and writes straight to file. If logging to file, it automatically also outputs a .trace file. Note: even if false it might still force to file if it doesn't have a UI, like a server or HC
|p4since= arma3 2.20
|p4since= arma3 2.20


|p5= continuousCounter: [[Number]] - captures N slow frames. Can be aborted by running diag_captureFrame or another captureSlowFrame
|p5= continuousCounter: [[Number]] - captures N slow frames. 0 or 1 will only capture one frame - don't set it to negative! Can be aborted by running diag_captureFrame or another captureSlowFrame
|p5since= arma3 2.20
|p5since= arma3 2.20



Revision as of 16:15, 29 October 2024

Hover & click on the images for description
Only available in Diagnostic/Profiling branch(es).

Description

Description:
CaptureSlowFrame.jpg

Opens "capture frame" dialog if current frame exceeds set threshold in seconds. One can indicate to either capture duration of a specific profiling selection or the total duration of the frame. The selection names can be obtained by expanding the profiling tree. Clicking on a tree item will highlight the item on the graph and vice versa. The GUI also provides method of copying of the displayed data to clipboard. Some of the selections:

Render Main Thread Visualize Mjob
  • bgD3D
  • total
  • memAl
  • visul
  • Mjob
Chrome export format:

Capturing to file also creates a .trace file, which can be imported into chrome://tracing (in chromium based webbrowsers), or https://ui.perfetto.dev/
The same format can be exported by pressing the "COPY ALL" button, in the capture frame UI, with CTRL key being held down.

this is happening automatically now, right? so just part of the description and nothing parameter related
Groups:
DiagnosticPerformance Profiling

Syntax

Syntax:
diag_captureSlowFrame [section, threshold, frameSkip]
Parameters:
section: String - case-sensitive
threshold: Number - section duration in seconds. 0 captures always IF the section you gave as section filter appears inside the given frame. "total" always appears, while "callExt" might not always appear for example
since Arma 3 logo black.png1.18
frameSkip: Number - number of frames to ignore before measuring
since Arma 3 logo black.png2.20
toFile: Boolean - if true, doesn't open UI and writes straight to file. If logging to file, it automatically also outputs a .trace file. Note: even if false it might still force to file if it doesn't have a UI, like a server or HC
since Arma 3 logo black.png2.20
continuousCounter: Number - captures N slow frames. 0 or 1 will only capture one frame - don't set it to negative! Can be aborted by running diag_captureFrame or another captureSlowFrame
Return Value:
Nothing

Examples

Example 1:
diag_captureSlowFrame ["total", 0.003];
Example 2:
diag_captureSlowFrame ["memAl", 0.0001, 30];
Example 3:
diag_captureSlowFrame ["total", 0, 0, false, 3];
Will open the capture ui 3 times

Additional Information

See also:
Performance Profiling diag_captureFrame diag_logSlowFrame

Notes

Report bugs on the Feedback Tracker and/or discuss them on the Arma Discord or on the Forums.
Only post proven facts here! Add Note