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