Page 1 of 1

In-engine profiling

Posted: Wed Dec 22, 2010 7:20 pm
by Radikalizm
This isn't an irrlicht specific question, but it's relevant to game programming

I'm working on an in-engine profiling system for my own game engine, right now the only thing it does is keeping track of the framerate and keeping a limited list of frame draw times.

I'm planning on adding per-system profiling so I can keep track of performance of all engine aspects separately (like physics, sound, graphics, AI, etc.) and a system for keeping track of my engine's memory footprint and info on where the memory is being used (writing design documents for this as we speak)

The thing is that right now I have this nagging feeling that I'm missing some useful aspects which I could build into this profiler, so my question in general is 'What do you think could be useful in a profiling system?'

Of course, this has to be as non-intrusive as possible since I don't want to lose too many clock cycles on gathering profiling data (I'm an extreme optimization kind of guy)

So, any ideas?

Posted: Wed Dec 22, 2010 7:31 pm
by CuteAlien
Hm, no ideas, but in case you want to take a look I have a simple speed-profiler coded here: http://www.michaelzeilfelder.de/irrlich ... iler.patch

To avoid the missed clock cycles I worked simply with a define.

Or more readable: http://irrlicht.sourceforge.net/phpBB2/ ... highlight= (it's nearly the same - just back then I was using stl instead of irrlicht core-classes)

Posted: Wed Dec 22, 2010 7:43 pm
by Radikalizm
CuteAlien wrote:Hm, no ideas, but in case you want to take a look I have a simple speed-profiler coded here: http://www.michaelzeilfelder.de/irrlich ... iler.patch

To avoid the missed clock cycles I worked simply with a define.

Or more readable: http://irrlicht.sourceforge.net/phpBB2/ ... highlight= (it's nearly the same - just back then I was using stl instead of irrlicht core-classes)
By design this is pretty much the same as what I had in mind, but I think I'm going to create a profiling GUI element (fancy graphs!) instead of letting the profiler handle the drawing of the data
I'll first have to write a GUI system tho.. ^^