[video output=day254 member=cmuratori stream_platform=twitch stream_username=handmade_hero project=code title="Reenabling Profiling" vod_platform=youtube id=b48NmnVEvu8 annotator=Miblo]
[1:31][Run the game and propose getting the profiling system back in some semblance of working order]
[7:31][handmade_debug.cpp: Reacquaint ourselves with CollateDebugRecords]
[12:15][Savour the moment][quote 421]
[13:17][handmade_debug.cpp: Simplify CollateDebugRecords and change what gets passed to StoreEvent]
[16:36][Blackboard: Call Attribution]
[18:30][handmade_debug.h: Make a note to store call attribution data in debug_stored_event]
[20:25][handmade_debug.cpp: Implement Call Attribution]
[22:10][handmade_debug.cpp: Collapse DEBUGDrawElement and DEBUGDrawEvent down to one function]
[24:12][Blackboard: Sketch out the overview profiler]
[25:56][handmade_debug_interface.h: Begin to implement ThreadIntervalGraph]
[28:23][Run the game and see END_BLOCK being printed out][quote 422]
[31:12][Debugger: Hit an assertion and investigate]
[32:09]["Would you be a lamb and jump me there?"][quote 423]
[34:55]["We just have a bug bug"][quote 424]
[36:03][handmade_debug.cpp: Comment out the StoreEvent calls to determine that 32MiB is not enough memory]
[39:03][handmade_debug.cpp: Make GetElementFromEvent take b32 CreateHierarchy in order to conditionally do GetGroupForHierarchicalName]
[42:49][handmade_debug.cpp: Introduce the notion of ProfileGroup]
[45:09][Run the game and check out the debug visualisation]
[48:01][handmade_debug.cpp: Make DrawProfileIn draw one frame]
[1:10:21][Run the game and check out the correct debug visualisation][quote 425]
[1:11:10][Q&A][:speech]
[1:11:35][handmade_debug.cpp: Convert a PointerToU32 down to CloseEvent->GUID]
[1:12:47][@garryjohanson][What do you think of using a "call tree" to track dependencies across multi-threading?]
[1:13:33][@erdomina][What command do you use to change from cutscene to game]
[1:13:39][@jameswidman][Tomorrow is episode 0xff!]
[1:13:49][@xpansionpak][How do you handle tasks that run in separate threads but take longer than a frame to compute? For example, I heard that in the new Forza the rear view mirror updates at half the framerate as everything else]
[1:14:45][@naysayer88][WHY WAS I NOT INFORMED THAT KRAMPUS IS IN THIS GAME?]
[1:16:15][@dafreaki][Is talking to the chat while coding helpful to work things out?]
[1:16:51][@cubercaleb][Do you have a problem with Santa from your childhood?]
[1:17:39]["Santa is not good"][quote 426]
[1:18:13][@naysayer88][I DID NOT GET A PICTURE OF KRAMPUS]
[1:18:31][@desuused][Did you consider visualizing timing using flame graphs?]
[1:20:00][@angus_holder][Is this software renderering? The frame time has tanked]
[1:20:43][handmade_debug.cpp: Stop looping through every event every time]
[1:23:23][Close down here]
[1:24:04][@angus_holder][Do you have a secret phobia of writing game code?]
[1:27:16][@garryjohanson][Can we make games in GameMaker and submit them to you for the final game?]
[1:29:55][@abnercoimbre][Q: After you stop recording, beckon people to stay in the chat for a bit]
[1:30:33]["It would be weird..."][quote 427]
[1:30:42][@abnercoimbre][Q: It has to do with won_3d and an interview with him]
[1:31:29][@abnercoimbre][Q: It's not a live interview...]
[1:31:40][Close down the stream][:speech]
[1:32:16][Recommend Won Chun][:speech][quote 428]
[/video]
