Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.
uit de msdn:
Misschien dat het iets helpt.... ben eigenlijk niet zo bekend met de profiler...PROFILE profiles an application and creates a .PBO file of the results. Use PROFILE after creating a .PBI file with PREP
"There are 10 kinds of people in the world, those who understand binary and those who don't" | Werkbak specs
mja ik heb de hele msdn al uitgepluisd wat dat betreft... en het is voor mij ook de eerste keer 
ik zal het eens proberen vanaf de commandline ipv vanuit de IDE
.edit: hmm als ik de profiler handmatig run met de door de compiler geproduceerde .exe file dan krijg ik nog steeds niets
als ik m echter run met een ._xe bestand dat ook in de dir staat krijg ik wel een pbo file, maar die is leeg
ik zal het eens proberen vanaf de commandline ipv vanuit de IDE
.edit: hmm als ik de profiler handmatig run met de door de compiler geproduceerde .exe file dan krijg ik nog steeds niets
als ik m echter run met een ._xe bestand dat ook in de dir staat krijg ik wel een pbo file, maar die is leeg
Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.
bedankt voor de tip, maar het moet natuurlijk gewoon werken in msvc 
ik zal er wel naar kijken als ik het echt niet voor elkaar krijg... maar eerst even proberen de vc++ profiler goed aan de praat te krijgen
ik zal er wel naar kijken als ik het echt niet voor elkaar krijg... maar eerst even proberen de vc++ profiler goed aan de praat te krijgen
Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.
hmm ik denk dat ik toch maar voor Vtune ga idd. Ik vond een interessant stukje op gamasutra (je hebt wel een login/pass combo nodig om te kunnen lezen):
.edit: hmm kan natuurlijk ook gewoon mijn eigen profiler maken... dan kan ik precies aangeven welke stukken code er geprofiled moeten worden en dan heb ik de data zoals ik m hebben wilAlthough we used Microsoft Visual C++, we did not use the bundled Microsoft Profiler. There were two reasons for this: we found it difficult to get the Microsoft product to work correctly (or at all) and the data format from their profiler was either inadequate or needed post-processing in a spreadsheet to be minimally useful. Using VTune, TrueTime, and the NT performance counters we were able to collect, analyze, and present data in a reasonable fashion.
VTune is a sampling profiler, which means it has a component that wakes up every few milliseconds (or whatever amount of time you specify) and looks at what processes are executing on the CPU(s). When you decide enough time has elapsed, you can stop VTune and look at the statistics it produces for each process executed during that time. If you've compiled your program with debug information, VTune can display which lines of code were called and what percentage of the elapsed time was consumed by the executing code.
VTune is great because you don't need to compile a special version of your program, it doesn't slow your program down while it runs, and it lets you see the amount of time the CPU spent executing processes besides your own. The only major drawback is that you can end up with spurious data due to this sampling. This can be caused by other processes that are running in the system, or by running VTune for too long a period. To improve VTune's accuracy on your own program, it comes with an API to turn VTune on and off programmatically. This is a very useful feature, especially when drilling down into the performance of specific subsystems and smaller sections of code.
Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.
Ik heb hetzelfde probleem in Windows XP, maar onder Windows 98 werkt het goed.
Maar als VTune om de zoveel msecs sampled, dan heb je toch geen nauwkeurige stats for de diepste functies die misschien heel vaak maar wel heel kort worden aangeroepen?
Wat
dat je dat artikel op GamaSutra niet eens kunt bekijken zonder een account aan te maken.
Maar als VTune om de zoveel msecs sampled, dan heb je toch geen nauwkeurige stats for de diepste functies die misschien heel vaak maar wel heel kort worden aangeroepen?
Wat
ah ok dan zal het daaraan liggen (dat het niet in winXP draait dus)
maar ik gebruik nu mijn eigen profiler... simple yet effective
werkt zo:
en genereert dit als output (even gekoppiepeest uit het projectje waar ik mee bezig was):
nadeel is wel dat je je code moet peperen met PROFILE_* macros... (en wel irri dat MSVC geen __func__ macro oid kent waardoor je handmatig de functie mee moet geven)
bijkomend voordeel hiervan is weer dat je precies kunt aangeven wat je wilt profilen en wat niet
moet m alleen nog aanpassen dat ie meerdere threads ondersteund enzo... en misschien dat ie z'n data doorstuurt naar een server app die er weer mooie tabelletjes en grafiekjes van kan maken tijdens de loop van het programma. Maar dat zijn allemaal slechts ideeen
maar ik gebruik nu mijn eigen profiler... simple yet effective
werkt zo:
code:
1
2
3
4
5
6
7
8
| void functie ()
{
PROFILER_START ("functie ()");
.. je code hier ..
PROFILER_END ();
} |
en genereert dit als output (even gekoppiepeest uit het projectje waar ik mee bezig was):
code:
1
2
3
4
5
6
7
8
9
| Profile report: running for 17.378 seconds --------------------------------------------------------------------------------------- blockname calls | total | avg | % | max rec. onPaint 1 | 0.000016 | 0.00001564 | 0.00% | 1 Renderer::draw 1500 | 0.486134 | 0.00032409 | 2.80% | 1 Renderer::drawScan 510007 | 7.788687 | 0.00001527 | 44.82% | 1 Renderer::toBitmap 1500 | 4.777606 | 0.00318507 | 27.49% | 1 repaint 1500 | 0.047657 | 0.00003177 | 0.27% | 1 |
nadeel is wel dat je je code moet peperen met PROFILE_* macros... (en wel irri dat MSVC geen __func__ macro oid kent waardoor je handmatig de functie mee moet geven)
bijkomend voordeel hiervan is weer dat je precies kunt aangeven wat je wilt profilen en wat niet
moet m alleen nog aanpassen dat ie meerdere threads ondersteund enzo... en misschien dat ie z'n data doorstuurt naar een server app die er weer mooie tabelletjes en grafiekjes van kan maken tijdens de loop van het programma. Maar dat zijn allemaal slechts ideeen
Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.
mwa het artikel gaat verder niet over profilers ofzo... het was maar een klein stukje van het hele artikel waar ze iets zeiden over profiling (en dat stukje had ik dus gequoteOp zaterdag 08 juni 2002 01:07 schreef OlafvdSpek het volgende:
Watdat je dat artikel op GamaSutra niet eens kunt bekijken zonder een account aan te maken.
Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.
Pagina: 1