Jump to content

  • Log In with Google      Sign In   
  • Create Account

Banner advertising on our site currently available from just $5!


1. Learn about the promo. 2. Sign up for GDNet+. 3. Set up your advert!


Profiling tools

  • You cannot reply to this topic
7 replies to this topic

#1 NightCreature83   Crossbones+   -  Reputation: 3149

Like
0Likes
Like

Posted 29 January 2015 - 05:12 PM

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?


Worked on titles: CMR:DiRT2, DiRT 3, DiRT: Showdown, GRID 2, Mad Max

Sponsor:

#2 SmkViper   Members   -  Reputation: 1647

Like
0Likes
Like

Posted 29 January 2015 - 05:32 PM

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

#3 NightCreature83   Crossbones+   -  Reputation: 3149

Like
1Likes
Like

Posted 29 January 2015 - 06:08 PM

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, 29 January 2015 - 06:37 PM.

Worked on titles: CMR:DiRT2, DiRT 3, DiRT: Showdown, GRID 2, Mad Max

#4 DoctorGlow   Members   -  Reputation: 873

Like
3Likes
Like

Posted 29 January 2015 - 06:36 PM

Sleepy possibly?

 



#5 Ashaman73   Crossbones+   -  Reputation: 8487

Like
0Likes
Like

Posted 29 January 2015 - 11:43 PM


Sleepy possibly?

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



#6 SeanMiddleditch   Crossbones+   -  Reputation: 7994

Like
2Likes
Like

Posted Yesterday, 12:23 AM

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.

#7 Hodgman   Moderators   -  Reputation: 33375

Like
2Likes
Like

Posted Yesterday, 01:26 AM

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, Yesterday, 01:28 AM.


#8 NightCreature83   Crossbones+   -  Reputation: 3149

Like
0Likes
Like

Posted Yesterday, 06:49 AM

 


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.


Worked on titles: CMR:DiRT2, DiRT 3, DiRT: Showdown, GRID 2, Mad Max





PARTNERS