A standalone console application that uses the PresentMon SDK to capture and analyze graphics applications, outputting data to the console and/or CSV file(s).
PresentMon Console: A Tool for Analyzing Graphics Application Performance
PresentMon Console is a standalone console application designed to capture and analyze the performance characteristics of graphics applications on Windows. It leverages the PresentMon SDK to output detailed data either to the console or CSV files, facilitating comprehensive performance evaluation.
Key Features:
Cross-API Support: Captures metrics across DirectX, OpenGL, and Vulkan APIs.
Performance Metrics: Analyzes CPU, GPU, and Display frame durations and latencies in real-time.
Data Output: Exports CSV data for further analysis and post-processing.
Application Compatibility: Works with both desktop and UWP applications.
README
PresentMon
PresentMon is a set of tools to capture and analyze the high-level performance characteristics of graphics applications on Windows. PresentMon traces key performance metrics such as the CPU, GPU, and Display frame durations and latencies; and works across different graphics API such as DirectX, OpenGL, and Vulkan, different hardware configurations, and for both desktop and UWP applications.
This repository contains several components:
The PresentData/ directory contains the PresentMon Collection and Analysis library: a library that performs the lowest-level collection and analysis of ETW events. See PresentData/PresentMonTraceConsumer.hpp for more information.
The PresentMon/ directory contains the PresentMon Console Application: a standalone console application that can be used to collect CSV data from target applications. See README-ConsoleApplication.md for more information.
The IntelPresentMon/ directory contains the PresentMon Service: A service that combines the ETW frame event analysis of the PresentMon Analysis library with hardware telemetry such as GPU power, temperature, and utilization collected from various vendor APIs such as NVAPI. Applications can interact with this service to access data via the PresentMon API. See README-Service.md for more information.
The IntelPresentMon/ directory also contains the PresentMon Capture Application: a user-friendly GUI application that interfaces with the PresentMon Service. This application can display an overlay containing realtime graphs and readouts of any metrics exposed by the PresentMon Service, as well as capture per-frame CSV data. See for more information.
ShareX is a free and open source program that lets you capture or record any area of your screen and share it with a single press of a key. It also allows uploading images, text or other types of files to many supported destinations you can choose from.
The Wireshark developer community, https://www.wireshark.org
Wireshark is the world's foremost network protocol analyzer. It lets you see what's happening on your network at a microscopic level. It is the de facto (and often de jure) standard across many industries and educational institutions.
Wireshark development thrives thanks to the contributions of networking experts across the globe. It is the continuation of a project that started in 1998.
Termius is a modern SSH client for Windows designed to enhance productivity by saving users up to 30 minutes a day. It offers features such as autocomplete for frequently used commands, split view and command broadcast for multiple terminal sessions, and multiple terminal tabs for easy navigation. Additionally, Termius provides a selection of terminal themes, an SFTP client for efficient file management, a port forwarding wizard, and terminal sharing for collaborative troubleshooting.
Windows Terminal is a modern terminal application for users of command line tools and shells like Command Prompt, PowerShell, and Windows Subsystem for Linux (WSL).
Its main features include multiple tabs, panes, Unicode and UTF-8 character support, a GPU accelerated text rendering engine, and the ability to create your own themes and customize text, colors, backgrounds, and shortcut key bindings.
Greenshot is a light-weight screenshot software tool for Windows with the following key features:
- Quickly create screenshots of a selected region, window or fullscreen; you can even capture complete (scrolling) web pages from Internet Explorer.
- Easily annotate, highlight or obfuscate parts of the screenshot.
- Export the screenshot in various ways: save to file, send to printer, copy to clipboard, attach to e-mail, send Office programs or upload to photo sites like Flickr or Picasa, and others.
...and a lot more options simplyfying creation of and work with screenshots every day.
Being easy to understand and configurable, Greenshot is an efficient tool for project managers, software developers, technical writers, testers and anyone else creating screenshots.
ShareX is a free and open source program that lets you capture or record any area of your screen and share it with a single press of a key. It also allows uploading images, text or other types of files to many supported destinations you can choose from.
The Wireshark developer community, https://www.wireshark.org
Wireshark is the world's foremost network protocol analyzer. It lets you see what's happening on your network at a microscopic level. It is the de facto (and often de jure) standard across many industries and educational institutions.
Wireshark development thrives thanks to the contributions of networking experts across the globe. It is the continuation of a project that started in 1998.
Termius is a modern SSH client for Windows designed to enhance productivity by saving users up to 30 minutes a day. It offers features such as autocomplete for frequently used commands, split view and command broadcast for multiple terminal sessions, and multiple terminal tabs for easy navigation. Additionally, Termius provides a selection of terminal themes, an SFTP client for efficient file management, a port forwarding wizard, and terminal sharing for collaborative troubleshooting.
Windows Terminal is a modern terminal application for users of command line tools and shells like Command Prompt, PowerShell, and Windows Subsystem for Linux (WSL).
Its main features include multiple tabs, panes, Unicode and UTF-8 character support, a GPU accelerated text rendering engine, and the ability to create your own themes and customize text, colors, backgrounds, and shortcut key bindings.
Greenshot is a light-weight screenshot software tool for Windows with the following key features:
- Quickly create screenshots of a selected region, window or fullscreen; you can even capture complete (scrolling) web pages from Internet Explorer.
- Easily annotate, highlight or obfuscate parts of the screenshot.
- Export the screenshot in various ways: save to file, send to printer, copy to clipboard, attach to e-mail, send Office programs or upload to photo sites like Flickr or Picasa, and others.
...and a lot more options simplyfying creation of and work with screenshots every day.
Being easy to understand and configurable, Greenshot is an efficient tool for project managers, software developers, technical writers, testers and anyone else creating screenshots.
Audience & Benefits:
Ideal for developers and performance engineers focused on optimizing graphics-intensive applications. PresentMon Console helps identify performance bottlenecks, enabling targeted optimizations to enhance application efficiency and user experience.
Installation:
Available via winget for easy setup, ensuring seamless integration into your development workflow.
This tool provides essential insights into application behavior across various APIs and hardware configurations, aiding in the creation of high-performance graphics solutions.
See CONTRIBUTING.md for information on how to request features, report issues, or contribute code changes.
See BUILDING.md for information on how to build PresentMon components from source.
License
Copyright (C) 2017-2024 Intel Corporation
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Troubleshooting
See GitHub Issues for a current list of reported issues.
User access denied
PresentMon needs to be run by a user who is a member of the "Performance Log Users" user group. If
neither of these are true, you will get an error "failed to start trace session (access denied)".
To add a user to the "Performance Log Users" user group:
Run compmgmt.msc as administrator.
In the "Computer Management" window, expand "System Tools", expand "Local Users and Groups", and then click "Groups".
Double-click "Performance Log Users", and then click "Add".
In the "Enter the object names to select" text box, type the name of the user account or group account that you want to add, and then click "OK".
Sign out and log back in for the changes to take effect.
If PresentMon is not run with administrator privilege, it will not have complete process information
for processes running on different user accounts or for processes that are short-lived. Such
processes will be listed in the console and CSV as "", and they cannot be targeted by name
(--process_name).
Analyzing OpenGL and Vulkan applications
Applications that report Runtime of "Other" (e.g., as is typical with OpenGL or Vulkan
applications) have less instrumentation in the frame presentation process. As a result,
CPUFramePacingStall will always report 0 and CPUFrameTime may be slightly less accurate. This
inaccuracy also impacts latency calculations based off of CPUFrameTime (e.g., GPUBeginLatency,
GPUEndLatency, and DisplayLatency but not InputLatency).
Tracking GPU work with Hardware-Accelerated GPU Scheduling enabled
GPU execution metrics are less accurate when running on a system that uses Hardware-Accelerated GPU
Scheduling (HWS). When HWS is enabled, msUntilRenderStart, msUntilRenderComplete,
msGPUActive, and msGPUVideoActive measurements may be later/larger than they should be. For
example, in a GPU-bound scenario the frame's msGPUActive may be reported ~0.5ms larger than the
true GPU work duration, though the specific amount of the inaccuracy will be workload- and
GPU-dependent.
An improved solution is WIP.
Shutting down PresentMon on Windows 7
Some users have observed system stability issues when forcibly shutting down PresentMon on Windows 7. If you are having similar issues, they can be avoided by using Ctrl+C in the PresentMon window to shut it down.
Geekbench 6 is a cross-platform benchmark that measures your system's performance with the press of a button. How will your computer perform when push comes to crunch? How will it compare to the newest devices on the market? Find out today with Geekbench 6.
Geekbench 6 is a cross-platform benchmark that measures your system's performance with the press of a button. How will your computer perform when push comes to crunch? How will it compare to the newest devices on the market? Find out today with Geekbench 6.
Bandicam is a lightweight screen recorder software for Windows that can capture anything on your PC screen as a high-quality video.
This app also makes it possible to record a certain area on a PC screen, or capture a game that uses the DirectX/OpenGL/Vulkan graphics technologies.
Bandicam will help you carry out a screen capture with high compression ratio, while preserving the video quality of the original work, and provide performance far superior to other screen capture software that provides similar functions.
Bandicam is a lightweight screen recorder software for Windows that can capture anything on your PC screen as a high-quality video.
This app also makes it possible to record a certain area on a PC screen, or capture a game that uses the DirectX/OpenGL/Vulkan graphics technologies.
Bandicam will help you carry out a screen capture with high compression ratio, while preserving the video quality of the original work, and provide performance far superior to other screen capture software that provides similar functions.
Snagit helps you quickly share information in a way that's easy to understand. Capture your screen and camera, add additional context and move work forward faster.
Snagit helps you quickly share information in a way that's easy to understand. Capture your screen and camera, add additional context and move work forward faster.
ConEmu-Maximus5 aims to be handy, comprehensive, fast and reliable terminal window where you may host any console application developed either for WinAPI (cmd, powershell, far) or Unix PTY (cygwin, msys, wsl bash).
As Windows console window enhancement (local terminal emulator), ConEmu presents multiple consoles and simple GUI applications (like PuTTY for example) as one customizable tabbed GUI window with various features.
Moreover, due to deep integration, ConEmu is the best companion for Far Manager, my favorite shell replacement.
ConEmu is an active project, open to suggestions.
ConEmu-Maximus5 aims to be handy, comprehensive, fast and reliable terminal window where you may host any console application developed either for WinAPI (cmd, powershell, far) or Unix PTY (cygwin, msys, wsl bash).
As Windows console window enhancement (local terminal emulator), ConEmu presents multiple consoles and simple GUI applications (like PuTTY for example) as one customizable tabbed GUI window with various features.
Moreover, due to deep integration, ConEmu is the best companion for Far Manager, my favorite shell replacement.
ConEmu is an active project, open to suggestions.
Wondershare UniConverter is a complete video conversion toolset (conversion, editing, screen recording) with a simple user interface. It is easy to learn, cost effective, and empowers you to work faster. Compress files to more manageable sizes, convert into over 1000 formats, and edit your videos all with one software.
Wondershare UniConverter is a complete video conversion toolset (conversion, editing, screen recording) with a simple user interface. It is easy to learn, cost effective, and empowers you to work faster. Compress files to more manageable sizes, convert into over 1000 formats, and edit your videos all with one software.
Tabby (formerly Terminus) is a highly configurable terminal emulator, SSH and serial client for Windows 10, macOS and Linux
- Integrated SSH and Telnet client and connection manager
- Integrated serial terminal
- Theming and color schemes
- Fully configurable shortcuts and multi-chord shortcuts
- Split panes
- Remembers your tabs
- PowerShell (and PS Core), WSL, Git-Bash, Cygwin, MSYS2, Cmder and CMD support
- Direct file transfer from/to SSH sessions via Zmodem
- Full Unicode support including double-width characters
- Doesn't choke on fast-flowing outputs
- Proper shell experience on Windows including tab completion (via Clink)
- Integrated encrypted container for SSH secrets and configuration
- SSH, SFTP and Telnet client available as a web app (also self-hosted)
Tabby (formerly Terminus) is a highly configurable terminal emulator, SSH and serial client for Windows 10, macOS and Linux
- Integrated SSH and Telnet client and connection manager
- Integrated serial terminal
- Theming and color schemes
- Fully configurable shortcuts and multi-chord shortcuts
- Split panes
- Remembers your tabs
- PowerShell (and PS Core), WSL, Git-Bash, Cygwin, MSYS2, Cmder and CMD support
- Direct file transfer from/to SSH sessions via Zmodem
- Full Unicode support including double-width characters
- Doesn't choke on fast-flowing outputs
- Proper shell experience on Windows including tab completion (via Clink)
- Integrated encrypted container for SSH secrets and configuration
- SSH, SFTP and Telnet client available as a web app (also self-hosted)
The best online SSH and SFTP tool that supports online file editing, status monitoring and private deployment, providing you with the best data security!
The best online SSH and SFTP tool that supports online file editing, status monitoring and private deployment, providing you with the best data security!
The best online SSH and SFTP tool that supports online file editing, status monitoring and private deployment, providing you with the best data security!