Skyrim Special Edition

File information

Last updated

Original upload

Created by

Borgut1337

Uploaded by

Borgut1337

Virus scan

Safe to use

About this mod

This SKSE plugin lets you collect data on all Papyrus functions (from any Papyrus script running in your entire game), and use this for profiling (i.e., to gain insight into which scripts and which functions are being called frequently in your load order).

Requirements
Permissions and credits
Changelogs
Papyrus Profiler

Version 2.1.0
6 April 2024
Borgut1337

This SKSE plugin lets you collect data on all Papyrus functions (from any Papyrus script running in your entire game), and use this for profiling (i.e., to gain insight into which scripts and which functions are being called frequently in your load order).




If you are a regular user just playing the game, you probably don't want to download this!


Requirements

- SKSE: https://skse.silverlock.org/
- Address Library for SKSE Plugins: https://www.nexusmods.com/skyrimspecialedition/mods/32444
- NL_CMD (only required if you want to be able to start/stop profiling using console commands): https://www.nexusmods.com/skyrimspecialedition/mods/62497. (For an alternative framework, see: https://www.nexusmods.com/skyrimspecialedition/mods/82793/)

Description
- The SKSE plugin can track all Papyrus function calls, for all scripts that are running (from any mod or the base game) in your entire game, and write data to files.
- The written data can afterwards be converted into interactive plots such as Flame Graphs.
- Configuration files (.json format) can be used to adjust when and what data the profiler should collect and write.
- The included .esp file allows you to use console commands to start or stop profiling.
- A .ini file is included that also lets you specify a configuration file to use for profiling immediately on game load.
- By default (if the .ini entry is left blank, and no console commands are run to start profiling), the plugin does nothing (except for probably adding some overhead and making scripts in your game run slower).
- For detailed instructions on how to use the plugin for profiling, please see: https://github.com/DennisSoemers/PapyrusProfiler.

Usage
For detailed instructions on how to use the plugin for profiling, please see: https://github.com/DennisSoemers/PapyrusProfiler

Installation

Same as any other standard mod, recommend installing using a Mod Manager. The included .esp file (ESL flagged) is only required if you want to start or stop profiling using console commands. If you use other mechanisms, you only need the .dll file, and can leave the .esp deactivated (or delete it).

(In)compatibilities

Compatible (tested) with: Skyrim version 1.5.97 (SE)
Assumed compatible (not tested) with: Skyrim versions 1.6.6xx (AE)
Compatible (confirmed by user) with: VR

Source Code
https://github.com/DennisSoemers/PapyrusProfiler

Permissions & Disclaimer
- THIS MATERIAL IS NOT MADE, GUARANTEED OR SUPPORTED BY ZENIMAX OR ITS AFFILIATES.
- ALL FILES IN THE DOWNLOAD ARE PROVIDED ''AS IS'' WITHOUT ANY WARRANTY OR GUARANTEE OF ANY KIND. IN NO EVENT CAN THE AUTHOR BE HELD RESPONSIBLE FOR ANY CLAIMS, WHETHER OR NOT THEY ARE RELATED TO THE DOWNLOAD.

Credits
- Nikitalita for direct code contributions, as well as discussions about the project and its code.
- Nightfallstorm for the hook and example code taken from Skyrim Recursion FPS Fix, as well as discussions about the project and its code.
- CharmedBaryon for CommonLibSSE NG and the CommonLibSSE NG Sample Plugin.
- The SKSE authors for SKSE.
- Meh321 for Address Library for SKSE Plugins.
- Bethesda Game Studios for The Elder Scrolls V: Skyrim, and The Creation Kit