Yamgine»Blog

New Profiler

Hello!

I have two weeks of backlogged videos so I'm going to be posting them now. In this episode I went over a new profiler I wrote to replace what I was previously using, iprof. I did this because I wanted a profiler that could cross the DLL boundary easily (covering platform, game, and rendering code), and could save a single frame easily so I could profile start times. It was easier to write a new simple profiler than to try to get a full understanding of iprof.



There were a few interesting takeaways off the bat when I got this working.

A. Zeroing 250mb of memory one byte at a time is pretty slow (duh). This took about 2 seconds off my start time
B. It takes Windows a full second to choose a pixel format, no way around this except serializing the result it seems.
C. Doing any downstream calls costs from OpenGL, anything glGet*, costs about 11-12 milliseconds on the first call, because of thread syncing?

Thats the TLDR. Full video here
Jeroen van Rijn,
Looking like quite a nice and useful profile you've built in now.

Btw, having watched the dev log I noticed that it was very noisy. A lot of static and fan noise in the background which made it less pleasant to watch than it could've been.

I hope you can address this in future videos, 'cause I'd happily tune back in for the next dev log to see where you've taking this project.

Cheers,
Jeroen
Yam
James Fulop,
Thanks for watching Jereon, I'll try to address that.