Sign in to follow this  
Rick Brewster

How to submit a performance trace

Recommended Posts

This post will give instructions on how to submit something called a "performance trace file", which will allow me to inspect pretty much everything going on during Paint.NET's execution at a very low level. I'll use something called Windows Performance Analyzer to load the trace and look at what code is executing across all of the threads and CPU's, file accesses, etc. It's very good for finding bottlenecks and figuring out what code is being problematic. Bruce Dawson's blog has a lot of cool posts where he shows himself using it to figure out all sorts of weird problems.

 

This is useful for when things are "slow" and we need to figure out what's causing it.

 

1. You need to install the Windows Performance Toolkit. Do this by going to https://docs.microsoft.com/en-us/windows-hardware/get-started/adk-install, click to download the "Windows ADK", and then within the installer choose to only install the Windows Performance Toolkit.

 

2. Once that's completed, go to the Start menu and find Windows Performance Recorder ("WPR" from now on). It should look about like this:

 

image.png

 

3. Click the Start button ... 

 

image.png

 

4. ... and wait for the button to change to saying "Save", which indicates it has initialized and is now "recording"

 

image.png

 

4. Start Paint.NET and reproduce the performance problem. When sending the trace, make sure to include a description of what you're doing!

 

Note that performance traces should usually be kept to about 1 or 2 minutes maximum because they can get really big, really fast. I opened a 5 minute trace the other day while I was working on startup performance and it took 20GB of memory to load!

 

[TODO: add illustrative screenshot or GIF or something)

 

5. Click the Save button over in WPR ...

 

image.png

 

6. ...and  then click the Save button again on the next screen. There's no need to type anything into the description area, but you can if you'd like.

 

image.png

 

6. Wait for the progress bar to finish and for the buttons to change from Save/Cancel to Open in WPA/Open Folder/OK... (the progress bar may 'stick' at 100% for awhile.....)

 

7. Click on the "Open Folder" button, which will open an Explorer folder and highlight the performance trace file

 

image.png

 

8. This is important: I need both the ETL file and the folder with the same name that ends in NGENPDB. Select both of these, then right click and choose Send To -> Compressed (zipped) folder.

 

image.png

 

9. Now send me that zip file to contact@getpaint.net . You can e-mail it as an attachment or give me a link to a cloud file sharing location like Dropbox, Google Drive, Microsoft OneDrive, etc.

 

image.png

 

10. Feel free to delete the trace files from your computer. They can be BIG. But at least they compress well :)

 

NOTE: Performance traces can include details about file accesses that are happening on the system at that time. For that reason, I recommend you first close any applications that may be sensitive and/or that you don't want to inadvertently share. The contents of files are not included, however file and path names are

 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this