Community
cancel
Showing results for 
Search instead for 
Did you mean: 
vincent_h_2
Beginner
92 Views

Disable directX tracing

Hi, I'm investigating why an application is running much slower when started from the monitor. Disabling tracing get my perf back, so it's related to tracing in some form. I have very few itt events, but I have a bunch of directx happening, and I'm wondering if that is somehow related. I remember there was a way to disable directX function tracing in older versions of GPA, but that option seems to be now gone. Is there any other way to turn it off, or can this be brought back in the future? Thanks, -Vincent
0 Kudos
9 Replies
Seth_S_Intel
Employee
92 Views

Hi Vincent, 

Sorry that you are running into performance issues with tracing.   I will let the development team know that you ran into this.  Which version of GPA are you using (Graphics Monitor -> About)?

Also, There isn't a direct way to turn off just api tracing, but there is a known issue with GPA that could actually help here.  If you turn on "global injection" (ctl+Left Click on the graphics monitor in the task tray) it should disable the api tracing functionality.  Once you have enabled global injection, just run you application normally without "analyze application".  Open System Analyzer, connect to your system, and then choose the application you want to analyze.   I'd be curious to see if your performance issues still persist.   If all looks good, try taking a trace capture(the record button). 

Let me know how this goes!

Best,

Seth

vincent_h_2
Beginner
92 Views

Hi Seth,

Thanks for your comment. I'm running 2015 R3 (15.3.262022).

This is an interesting way of doing capture I wasn't aware of. Doing the capture like that fix my perf issue, but the issue is that it also prevent me to see the the ITT events I added myself. I was more looking for a way to disable the directx events, while retaining my own events (like it was possible to do in olf versions of GPA).

Thanks,

-Vincent

Seth_S_Intel
Employee
92 Views

Hi Vincent, 

At the moment, there is not a way to disable it from the UI. I have an email into one of our engineers about possibly being able to remove a dll that is responsible for API trace collection but still have ITT events enabled.   

If there isn't a quick fix, there are a couple other options we can explore after. 

Best,

Seth

Seth_S_Intel
Employee
92 Views

Another thought: Do you still get the same performance loss when you remove your ITT calls?  I know that you need them in there, but this might help us get to the root of the problem. 

Thanks!

Seth

Seth_S_Intel
Employee
92 Views

Hi Vincent,

Have you had time to look into disabling ITT calls?

Best,

Seth

vincent_h_2
Beginner
92 Views

Hi Seth,

Sorry for the delay here. Removing my own ITT calls didn't make a large difference sadly, because there is very few of them during the frame (I’m doing some very high level markup). What I am seeing it that due to the large number of ID3D11DeviceContext2::Map/Unmap (2435 of each) and DrawIndexed (1595), they slowdown the capture pretty substantially. Using simpler geometry makes the slowdown go away, but kind of defeat the purpose as I can’t profile scenes that exhibit the issue. Automatic trace of ID3D11DevuceContext2 calls can be useful in some cases (notably the present calls), but Map/Unmap/DrawIndexed are usually very cheap (0.14us) can be called so many times in a frame than forcibly including them in a trace is really an issue.

-Vincent

Seth_S_Intel
Employee
92 Views

Hi Vincent, 

Thank you for the very well articulated post.  We have looked into a fix and should be able to provide a way to disable the D3D api traces.   

I'll keep you up to date with the progress of the fix. 

Best,

Seth

Seth_S_Intel
Employee
92 Views

Hi Vincent, 

Please check your private messages.  I have sent you a link to an internal build that has this fix. 

Best,

Seth

vincent_h_2
Beginner
92 Views

Thanks, will try that out asap

Reply