Difference between revisions of "StartScriptProfiling - Debug"

From the CreationKit Wiki
Jump to navigation Jump to search
imported>Perdev
imported>Perdev
m (Undo revision 34330 by Perdev (talk))
Line 25: Line 25:
== Notes ==
== Notes ==
Profiling requires the "bEnableProfiling" flag in the "[Papyrus]" section of the ini file to be set to 1. Consoles will never profile in release final builds.
Profiling requires the "bEnableProfiling" flag in the "[Papyrus]" section of the ini file to be set to 1. Consoles will never profile in release final builds.
=== Identifying latent functions ===
It is possible to use this method to determine whether a function is [[:Category:Latent Functions|latent]] or not. For example in the following output we can see that the [[AddSpell - Actor]] function's call triggers a QUEUE_PUSH. This is because it is a latent function. On the hand, [[Trace - Debug|Debug.Trace]] does not trigger this instruction because it is not latent.
<pre>
26473:START:76
26473:POP:76:1:None:Debug..StartStackProfiling
26473:PUSH:76:1:MyTestQuest (0B000D62):MyTestScript2..SomeCall
26473:PUSH:76:2:None:Debug..Trace
26473:POP:76:2:None:Debug..Trace
26473:QUEUE_PUSH:76:2:None:Game.??.getplayer
26955:PUSH:76:2:None:Game..getplayer
26955:POP:76:2:None:Game..getplayer
</pre>


== See Also ==
== See Also ==
*[[Debug Script]]
*[[Debug Script]]
*[[StopScriptProfiling - Debug]]
*[[StopScriptProfiling - Debug]]

Revision as of 10:43, 8 October 2012

Member of: Debug Script

Starts profiling a single Papyrus script. Child and parent scripts are not profiled. The profile files are stored in "<game folder>/Logs/Script/Profiling". This will also cycle the older profiling logs (so log 0 becomes 1, 1 becomes 2, etc). If the script is already profiled nothing will change. Profiling requests are not saved and will be reset if you load a save game.

Syntax

Function StartScriptProfiling(string asScriptName) native global

Parameters

  • asScriptName: The name of the script to start profiling.

Return Value

None.

Examples

; Starts profiling "MySlowScript"
Debug.StartScriptProfiling("MySlowScript")

Notes

Profiling requires the "bEnableProfiling" flag in the "[Papyrus]" section of the ini file to be set to 1. Consoles will never profile in release final builds.

See Also