Performance analysis in Visual C++2005 Express Edition

Started by
2 comments, last by Kiristu 18 years, 3 months ago
Hi, I'm developping a DirectX application, using Direct3D and DirectMusic. Having compilation problems with DirectMusic in my old Visual Studio 6.0, I have followed the recommandations I found about that and downloaded the new Visual C++ 2005 Express Edition. The "profile" option, that allow to do a "function timing" and "function coverage" in a program has disappeared, so my first question is: Is there another way to do a program profiling in the application ? Or some Another thing that would be very useful when optimizing a program is a software that display video memory usage and, why not, GPU usage ... Is there some kind of software to do that ? Thanks for your answer, K.
Advertisement
Well, to answer your first question - profiling is disabled in the express editions (for abvious reasons, it's free afterall[smile]).
For profiling you can take a look at AMD's free CodeAnalyst software.

Cheers,
Pat.
There is no profiler tool in VS2005. You could use AMD's CodeAnalyst, or DevPartner Profiler Community Edition. (Or Intel's vTune if you don't know what to do with your money).
For GPU/DirectX performance analysis, use PIX (a tool included in the DX SDK).
I tried CodeAnalyst and DevPartner.

The first one seems to be quite powerful, but I did not find a way to have the functions counts and timings (I'm not a pro with compiling, but I'm not sure an external tool can do that without something to base on before the compilation).

The second one is not designed for Visual Studio 2005 (only .NET 2002 and .NET 2003).

But I found a way to use VC++ 6.0 's Profiler (in fact, it's only a UI on some exe files: PREP, PROFILE and PLIST) ...

The problem while using these commands is the missing .map file generated by the linker while we build the project.
We then have this kind of errors:
PREP : warning PRF4522: 'publics' section not found in mapfile xxx.map
PREP : warning PRF4523: 'static symbols' section not found in mapfile xxx.map
PREP : warning PRF4527: preferred load address not found in mapfile xxx.map; assumed 0x00010000
PREP : fatal error PRF1521: no functions marked for profiling in module xxx.exe

I modified the link options in Visual Studio and added a "/MAP" at the end of the linker command line. Then the map file seems to be generated correctly. Finally, I was able to launch the "Profile..." from VC++ 6.0.
The next step would be to include directly the files in the tool with something like "Launch external command ..." (I don't know if this is possible).

Thanks again for your answers,
K.

This topic is closed to new replies.

Advertisement