Skip to content

About

No description, website, or topics provided.

Resources

Contributing

Stars

1 star

Watchers

0 watching

Forks

Repository files navigation

LoadTimeProfiler

SKSE/SKSEVR plugin that profiles Skyrim's startup load time — measuring how long each ESP/ESM and SKSE DLL takes to load, with an in-game overlay and export to CSV, TXT, and Perfetto JSON.

Features

  • Per-plugin load time broken into three phases: file open, form load (ConstructObjectList), and file close
  • Per-DLL timing across all SKSE messaging callbacks (PostLoad, DataLoaded, etc.)
  • In-game overlay via SKSE Menu Framework
  • Export to CSV, plain text, and Chrome Trace / Perfetto JSON (viewable at ui.perfetto.dev)
  • VR-aware: integrates with SkyrimVRESL to import accurate VR plugin timings when present
  • Configurable warn/critical thresholds with colour coding
  • Search, filter by type, and sort in the overlay table

User Requirements

Developer Requirements

Building

git clone https://github.com/Quantumyilmaz/SKSELoadTimeProfiler.git
cd SKSELoadTimeProfiler
git submodule update --init --recursive extern/CommonLibSSE

Open the folder in Visual Studio 2022 and select the Release (or Debug) CMake preset, then build.

For command line builds, activate the MSVC environment first:

"C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Auxiliary\Build\vcvars64.bat"
cmake --preset release
cmake --build build/release --parallel

If using a user preset (e.g. user-release), substitute that preset name and its corresponding build directory.

To override the compiler path or set environment variables per-machine, copy CMakeUserPresets.template.json to CMakeUserPresets.json, fill in your paths, and select a User preset. This file is gitignored.

Environment Variables

Variable Required Description
VCPKG_ROOT Yes Path to your vcpkg clone
COMMONLIB_SSE_FOLDER No Fallback path to CommonLibVR if not using the submodule
SKYRIM_DIRECT_FOLDER No SE/AE Data/ folder — copies the DLL on build
SKYRIM_VR_DIRECT_FOLDER No VR Data/ folder — copies the DLL on build

Copy CMakeUserPresets.template.json → CMakeUserPresets.json and fill in your paths. This file is gitignored.

vcpkg Dependencies

Resolved automatically via vcpkg.json: rapidjson, spdlog, xbyak, directxtk, rsm-binary-io, rapidcsv, fast-cpp-csv-parser, skse-mcp, skyrimvresl

License

GPL-3.0-or-later WITH Modding Exception AND GPL-3.0 Linking Exception (with Corresponding Source).

Specifically, the Modded Code is Skyrim (and its variants) and Modding Libraries include SKSE, CommonLib (and variants), and Windows.

See NOTICE for the full project licensing notice.

Credits

About

No description, website, or topics provided.

Resources

Contributing

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages