Skip to content

VoeSo/PMplus

Repository files navigation

PMplus

A simple python GUI application that records a trace, processes it with presentmon, then adds data from ETL on top for frametime and latency analysis.

gui

Disclaimer: 100% vibecoded with gemini and claude free tiers. I have not read a single line of code and I would not understand it anyway.

Features

  • PCL Latency markers: Detailed latency metrics including input sample, simulation, render submit and present.
  • Revamped columns, based on pcl markers. Accurate PCL for every frame. Frametimes based on real framestart. More...
  • CPU100: CPU saturation metric that shows periods when the CPU was busy accross all cores used by the game.
  • ISR/DPC: Shows how long game threads were interrupted by ISRs and DPCs. See example_isr_dpc.md
  • more to come...

Requirements

System Requirements

  • Windows 10/11
  • Administrator privileges (required for ETL tracing)
  • Python 3.8+

Software Dependencies

  • Windows Performance Toolkit (wpaexporter.exe, xperf.exe)

    • Download Windows ADK
    • Install "Windows Performance Toolkit" component only
    • Default location: C:\Program Files (x86)\Windows Kits\10\Windows Performance Toolkit\
  • PresentMon v2.4.1

Python Dependencies

See requirements.txt for the full list. Install with:

pip install -r requirements.txt

Core dependencies:

  • PyQt6 (GUI framework)
  • polars & pyarrow (data processing)
  • pandas & numpy (data analysis)
  • pynput (keyboard monitoring)
  • psutil (system information)
  • pillow (image processing)

Installation

  1. Clone the repository

    git clone https://github.com/VoeSo/pmplus.git
    cd pmplus
  2. Install Python dependencies

    pip install -r requirements.txt
  3. Download PresentMon

  4. Install Windows Performance Toolkit

    • Download Windows ADK
    • Run the installer and select only "Windows Performance Toolkit"
    • Verify installation at C:\Program Files (x86)\Windows Kits\10\Windows Performance Toolkit\

Usage

# Right-click on Command Prompt/PowerShell and select "Run as Administrator"
python PMplus.py

License

This project is provided as-is for educational and analytical purposes. Please respect the licenses of the underlying tools:

  • PresentMon - MIT License
  • Windows Performance Toolkit - Microsoft Software License
  • Sound Effects - ElevenLabs (Free License - Attribution Required)

Credits

  • Built on PresentMon by Intel
  • Uses Windows Performance Toolkit from Microsoft
  • Sound effects provided by ElevenLabs

About

No description, website, or topics provided.

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages