Jump to content
  • Advertisement
Sign in to follow this  
NightCreature83

Profiling tools

This topic is 1237 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

I am trying to find CPU profiling tools for windows that work like VTune, Razor CPU, SN Tuner, or PIX for Xbox 360/Xbox One. Now all of these are propriatary tools and cost shit loads, not to mention require special hardware like devkits.

 

I know of Code Analyst and Code XL, however I am running my tools on an Intel chip so they wont give me much information than a timeline over the whole process duration. I want a bit more fine grained control I would prefable like something that I can instrument from code, so I can tell it where a frame swap would happen for example. Also when I had code analyst installed on an Intel machine previously it caused bluescreens due to it wanting to check certain CPU states that offcourse didnt exist. So is CodeXl currently safe for Intel chips?

 

Whole timeline optimisations only get me so far and only eliminate very hot functions that could have run for a long time, I would like to know where my hot points are per frame.

 

Are there any good free tools out there for the windows platform?

Share this post


Link to post
Share on other sites
Advertisement

Well, Visual Studio comes with one built in that you could start with.

This one sadly does only whole timeline sampling and I would like to get those samples ordered a bit different, specially on a per frame basis not sure the VS filters allow this sort of profiling. The documentation for the VS profiler seems geared towards managed application profiling, I am more interested in native profiling, if you have better documentation for the VS Profilier that info is more than welcome.

 

Ok finally found this stuff in VS its a bit hidden but the info can be found here: https://msdn.microsoft.com/en-us/library/windows/desktop/jj585574%28v=vs.85%29.aspx

The trick is to tell VS to do a CPU and GPU sample based profile at the same time, and then setting the time frame to the time it took to render one frame. Sadly this is not ideal, specially since you have no control over how many samples the profiler will do per second.

Edited by NightCreature83

Share this post


Link to post
Share on other sites


Sleepy possibly?

+1, check it out. It is free, simple to use. Give it a try and see if it provides some useful information.

Share this post


Link to post
Share on other sites
You can write your own and embed it into your application fairly easily.

Or use an Open Source library that does it for you like google-perftools.

You can either modify that to suite your needs, or use it to help learn how to write your own. It's not as hard as it sounds.

Share this post


Link to post
Share on other sites

You can write your own and embed it into your application fairly easily.

Or use an Open Source library that does it for you like google-perftools.

You can either modify that to suite your needs, or use it to help learn how to write your own. It's not as hard as it sounds.

^^This.
I'm outputting my timings in Chrome format at the moment, which removes the need for me to write a visualizer. Was pretty simple to get multiple CPU cores + the GPU showing N frames worth of timing bars myself.

I haven't used this one but it looks handy too: https://github.com/Celtoys/Remotery Edited by Hodgman

Share this post


Link to post
Share on other sites

 


Sleepy possibly?

+1, check it out. It is free, simple to use. Give it a try and see if it provides some useful information.

 

Sadly it doesnt do what I want, if I want a simple over time sample I can use the integrated profiler of VS, which has a better visualisation than Sleepy/VerySleepy.

Share this post


Link to post
Share on other sites

Am I wrong or does gpertools not have a CPU profiler for windows, because I cant find the profiler.lib or libprofiler.so in the output directory when building gperftools.

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

Participate in the game development conversation and more when you create an account on GameDev.net!

Sign me up!