2007-10-28

Multi-Threaded Program Visualization


(Click for bigger picture.)

This strange looking picture is a trace of a multi-threaded program. This is just a screenshot - in the real display program you could mouse over the interesting bits and see a call stack at that point in time for a particular thread.

I have all the code to do multi-threaded traces. I wrote it over two years ago. I didn't like the way the visualization part was going and I gave up on it. I think it needs to be done in 3D to have the most utility.

I placed the code that writes out the trace into the public domain but then I never posted it. I guess I should do that. I would love it if someone was inspired to work on the visualization part. The trace files can be quite huge as every single function entry and exit is traced. The idea is to turn it on for a frame or two while your game runs and then look for hotspots. I was visiting a local game company before I took my current job and I integrated it into their code. They had a demo coming up the next day and there was an unexplained hiccup in it. After looking at a simple HTML dump of the function timings one of the engineers sort-of slapped himself on the head and said, "Duh!", and ran off and fixed the demo so there was no more hiccup.

I really should get around to packing up a zip file and posting it on my web site ...

© 2007 Stephen Clarke-Willson - All Rights Reserved.

No comments:

Post a Comment