hello,i am a newly user of vtune. i am learning to develop a game on dx9.it's IDE is VC6.0. I encoun some performan issues. I use the vtune 2013 update 15 to do frame analysis on my application. After adding the ittnotify.h and libittnotify.lib to my application, i got two link errors :
libittnotify.lib error LNK2001: unresolved external symbol ___security_cookie
libittnotify.lib error LNK2001: unresolved external symbol @__security_check_cookie@
some document on the internet tell me to add the bufferoverflowU.lib to my application. After adding bufferoverflowU.lib to my application , i got another Link error :
debug information corrupt .
some document on the internet tell me that this problem is caused by the compatibility of compiler. VC6.0 is too old to use the .dll that build with newly compilers that support security_cookie or /Gs option.
I consider that the reason why i encounter these problem is that the libittnotify.lib and libittnotify.dll is build with security_chech but VC6.0 doesn't support it .
then i tried to immigrate my application to VS2010，after fix lots of syntax errorsyntax , I got many obscure runtime exceptions. I find it is too difficult to fix all the exceptions in limited time .But I still want to tune it with Vtune .
i hopes that vtune develop team can release a libittnotify.lib and libittnotify.dll that is compatible to VC6.0.
thanks a lot !
I am waiting for your reply!
I'm sorry, but if you check the Release Notes you will find that Microsoft* Visual Studio* 2008 is the oldest version supported. We will not add support for 6.0 and, actually, we dropped 2005 about a year ago. You can still use VTune Amplifier XE, you just won't be able to use the frame API. Have you profiled your application with Basic Hotspots or Advanced Hotspots yet?
My english is just so so，there my be many errors,i am sorry for that .Thanks for your reply.I am not sure i can immigrate my application to VS2008，but i will try. It will save me a lot of time if i can tune it under VC6.0.
My application works fine most time,but it's frame rate may drop or raise suddenly.When it drops or raises，it will recovery to normal frame rate Immediately. I want to know what happened during these frames. hostpot analysis may help me ，but it cannot tell me what happened during these exceptional frames.That's why i want to use frame analysis. I am not very familiar with vtune.Can you give me more suggestion？Could you tell me the latest vtune that can both do frame analysis and support VC6.0？Thanks a lot .
>>>My application works fine most time,but it's frame rate may drop or raise suddenly.When it drops or raises，it will recovery to normal frame rate Immediately>>>
It primarily depends on the workload which is scheduled to be executed by the CPU.If your application(game) has per every frame the same workload and in the absence of the other unrelated heavy workload then theoretically frame rate could be nearly constant.Unfortunately this is not the case many times.
For application profiling you can use VTune and for system wide profiling the best tool is the Xperf.
As a temporary workaround you can profile your code with the Xperf in order to find which part of code(function) hogs CPU.Of course it cannot beat VTune capabilities in low-level profiling.
Unfortunately, in reviewing older release notes, it doesn't appear that any VTune Amplifier XE release that supported the Frames API supported Visual Studio 6.0. I'm afraid that if you want to use the API, you will have to port your app to Visual Studio 2008 or newer.
Regarding using the profiler without using the API, you could try using the "Mark Timeline" button in the GUI to add an approximate indication of when a slow frame is rendered and then go back into the data and filter on the time period around the mark. This will show what code was executing and what the most active functions were during that time period. It will be approximate, but may give you some insight.