I read your docs on profiling. It seems like the tools are really slow. I have often just used GetTickCount to measure chunkier performance where things take hundreds of milliseconds. Is there anything that beats its 16ms resolution?
I am trying to figure out a strange performance anomaly in my behavior tree processing. It updates every animal in its list every frame. using gettickcount it takes 0 or 16ms to process 20 animals. And each individual animal is 0. Nice and fast even with debug mode and heavy console output. The animals do stuff, wandering around, swimming and drinking for about 10 minutes and then suddenly my framerate crashes. I see that every other frame processing all the animals is taking 200ms and then the next 0-16, then 200… over and over. Yet each of the 20 animals is still taking 0ms by themselves. It is just looping a list of animals calling update on each, there is nothing that would account for the rest of the time. I know this is nothing engine related but so weird. If the profiler tools really are so slow, it may take a long time before this issue emerges as hundreds of thousands of frames go by before it starts. I think it might be easier to see if I had more accurate timing than gettickcount provides. Does anyone know of such a thing that works in pascal?