Handmade Hero»Episode Guide
Reenabling Profiling
?
?

Keyboard Navigation

Global Keys

[, < / ], > Jump to previous / next episode
W, K, P / S, J, N Jump to previous / next marker
t / T Toggle theatre / SUPERtheatre mode
V Revert filter to original state Y Select link (requires manual Ctrl-c)

Menu toggling

q Quotes r References f Filter y Link c Credits

In-Menu Movement

a
w
s
d
h j k l


Quotes and References Menus

Enter Jump to timecode

Quotes, References and Credits Menus

o Open URL (in new tab)

Filter Menu

x, Space Toggle category and focus next
X, ShiftSpace Toggle category and focus previous
v Invert topics / media as per focus

Filter and Link Menus

z Toggle filter / linking mode

Credits Menu

Enter Open URL (in new tab)
1:31Run the game and propose getting the profiling system back in some semblance of working order
1:31Run the game and propose getting the profiling system back in some semblance of working order
1:31Run the game and propose getting the profiling system back in some semblance of working order
7:31handmade_debug.cpp: Reacquaint ourselves with CollateDebugRecords
7:31handmade_debug.cpp: Reacquaint ourselves with CollateDebugRecords
7:31handmade_debug.cpp: Reacquaint ourselves with CollateDebugRecords
12:15Savour the momentα
12:15Savour the momentα
12:15Savour the momentα
13:17handmade_debug.cpp: Simplify CollateDebugRecords and change what gets passed to StoreEvent
13:17handmade_debug.cpp: Simplify CollateDebugRecords and change what gets passed to StoreEvent
13:17handmade_debug.cpp: Simplify CollateDebugRecords and change what gets passed to StoreEvent
16:36Blackboard: Call Attribution
16:36Blackboard: Call Attribution
16:36Blackboard: Call Attribution
18:30handmade_debug.h: Make a note to store call attribution data in debug_stored_event
18:30handmade_debug.h: Make a note to store call attribution data in debug_stored_event
18:30handmade_debug.h: Make a note to store call attribution data in debug_stored_event
20:25handmade_debug.cpp: Implement Call Attribution
20:25handmade_debug.cpp: Implement Call Attribution
20:25handmade_debug.cpp: Implement Call Attribution
22:10handmade_debug.cpp: Collapse DEBUGDrawElement and DEBUGDrawEvent down to one function
22:10handmade_debug.cpp: Collapse DEBUGDrawElement and DEBUGDrawEvent down to one function
22:10handmade_debug.cpp: Collapse DEBUGDrawElement and DEBUGDrawEvent down to one function
24:12Blackboard: Sketch out the overview profiler
24:12Blackboard: Sketch out the overview profiler
24:12Blackboard: Sketch out the overview profiler
25:56handmade_debug_interface.h: Begin to implement ThreadIntervalGraph
25:56handmade_debug_interface.h: Begin to implement ThreadIntervalGraph
25:56handmade_debug_interface.h: Begin to implement ThreadIntervalGraph
28:23Run the game and see END_BLOCK being printed outβ
28:23Run the game and see END_BLOCK being printed outβ
28:23Run the game and see END_BLOCK being printed outβ
31:12Debugger: Hit an assertion and investigate
31:12Debugger: Hit an assertion and investigate
31:12Debugger: Hit an assertion and investigate
32:09"Would you be a lamb and jump me there?"γ
32:09"Would you be a lamb and jump me there?"γ
32:09"Would you be a lamb and jump me there?"γ
34:55"We just have a bug bug"δ
34:55"We just have a bug bug"δ
34:55"We just have a bug bug"δ
36:03handmade_debug.cpp: Comment out the StoreEvent calls to determine that 32MiB is not enough memory
36:03handmade_debug.cpp: Comment out the StoreEvent calls to determine that 32MiB is not enough memory
36:03handmade_debug.cpp: Comment out the StoreEvent calls to determine that 32MiB is not enough memory
39:03handmade_debug.cpp: Make GetElementFromEvent take b32 CreateHierarchy in order to conditionally do GetGroupForHierarchicalName
39:03handmade_debug.cpp: Make GetElementFromEvent take b32 CreateHierarchy in order to conditionally do GetGroupForHierarchicalName
39:03handmade_debug.cpp: Make GetElementFromEvent take b32 CreateHierarchy in order to conditionally do GetGroupForHierarchicalName
42:49handmade_debug.cpp: Introduce the notion of ProfileGroup
42:49handmade_debug.cpp: Introduce the notion of ProfileGroup
42:49handmade_debug.cpp: Introduce the notion of ProfileGroup
45:09Run the game and check out the debug visualisation
45:09Run the game and check out the debug visualisation
45:09Run the game and check out the debug visualisation
48:01handmade_debug.cpp: Make DrawProfileIn draw one frame
48:01handmade_debug.cpp: Make DrawProfileIn draw one frame
48:01handmade_debug.cpp: Make DrawProfileIn draw one frame
1:10:21Run the game and check out the correct debug visualisationε
1:10:21Run the game and check out the correct debug visualisationε
1:10:21Run the game and check out the correct debug visualisationε
1:11:10Q&A
🗩
1:11:10Q&A
🗩
1:11:10Q&A
🗩
1:11:35handmade_debug.cpp: Convert a PointerToU32 down to CloseEvent->GUID
1:11:35handmade_debug.cpp: Convert a PointerToU32 down to CloseEvent->GUID
1:11:35handmade_debug.cpp: Convert a PointerToU32 down to CloseEvent->GUID
1:12:47garryjohanson What do you think of using a "call tree" to track dependencies across multi-threading?
🗪
1:12:47garryjohanson What do you think of using a "call tree" to track dependencies across multi-threading?
🗪
1:12:47garryjohanson What do you think of using a "call tree" to track dependencies across multi-threading?
🗪
1:13:33erdomina What command do you use to change from cutscene to game
🗪
1:13:33erdomina What command do you use to change from cutscene to game
🗪
1:13:33erdomina What command do you use to change from cutscene to game
🗪
1:13:39jameswidman Tomorrow is episode 0xff!
🗪
1:13:39jameswidman Tomorrow is episode 0xff!
🗪
1:13:39jameswidman Tomorrow is episode 0xff!
🗪
1:13:49xpansionpak 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:13:49xpansionpak 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:13:49xpansionpak 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:45naysayer88 WHY WAS I NOT INFORMED THAT KRAMPUS IS IN THIS GAME?
🗪
1:14:45naysayer88 WHY WAS I NOT INFORMED THAT KRAMPUS IS IN THIS GAME?
🗪
1:14:45naysayer88 WHY WAS I NOT INFORMED THAT KRAMPUS IS IN THIS GAME?
🗪
1:16:15dafreaki Is talking to the chat while coding helpful to work things out?
🗪
1:16:15dafreaki Is talking to the chat while coding helpful to work things out?
🗪
1:16:15dafreaki Is talking to the chat while coding helpful to work things out?
🗪
1:16:51cubercaleb Do you have a problem with Santa from your childhood?
🗪
1:16:51cubercaleb Do you have a problem with Santa from your childhood?
🗪
1:16:51cubercaleb Do you have a problem with Santa from your childhood?
🗪
1:17:39"Santa is not good"ζ
1:17:39"Santa is not good"ζ
1:17:39"Santa is not good"ζ
1:18:13naysayer88 I DID NOT GET A PICTURE OF KRAMPUS
🗪
1:18:13naysayer88 I DID NOT GET A PICTURE OF KRAMPUS
🗪
1:18:13naysayer88 I DID NOT GET A PICTURE OF KRAMPUS
🗪
1:18:31desuused Did you consider visualizing timing using flame graphs?
🗪
1:18:31desuused Did you consider visualizing timing using flame graphs?
🗪
1:18:31desuused Did you consider visualizing timing using flame graphs?
🗪
1:20:00angus_holder Is this software renderering? The frame time has tanked
🗪
1:20:00angus_holder Is this software renderering? The frame time has tanked
🗪
1:20:00angus_holder Is this software renderering? The frame time has tanked
🗪
1:20:43handmade_debug.cpp: Stop looping through every event every time
1:20:43handmade_debug.cpp: Stop looping through every event every time
1:20:43handmade_debug.cpp: Stop looping through every event every time
1:23:23Close down here
1:23:23Close down here
1:23:23Close down here
1:24:04angus_holder Do you have a secret phobia of writing game code?
🗪
1:24:04angus_holder Do you have a secret phobia of writing game code?
🗪
1:24:04angus_holder Do you have a secret phobia of writing game code?
🗪
1:27:16garryjohanson Can we make games in GameMaker and submit them to you for the final game?
🗪
1:27:16garryjohanson Can we make games in GameMaker and submit them to you for the final game?
🗪
1:27:16garryjohanson Can we make games in GameMaker and submit them to you for the final game?
🗪
1:29:55abnercoimbre Q: After you stop recording, beckon people to stay in the chat for a bit
🗪
1:29:55abnercoimbre Q: After you stop recording, beckon people to stay in the chat for a bit
🗪
1:29:55abnercoimbre Q: After you stop recording, beckon people to stay in the chat for a bit
🗪
1:30:33"It would be weird..."η
1:30:33"It would be weird..."η
1:30:33"It would be weird..."η
1:30:42abnercoimbre Q: It has to do with won_3d and an interview with him
🗪
1:30:42abnercoimbre Q: It has to do with won_3d and an interview with him
🗪
1:30:42abnercoimbre Q: It has to do with won_3d and an interview with him
🗪
1:31:29abnercoimbre Q: It's not a live interview...
🗪
1:31:29abnercoimbre Q: It's not a live interview...
🗪
1:31:29abnercoimbre Q: It's not a live interview...
🗪
1:31:40Close down the stream
🗩
1:31:40Close down the stream
🗩
1:31:40Close down the stream
🗩
1:32:16Recommend Won Chunθ
🗩
1:32:16Recommend Won Chunθ
🗩
1:32:16Recommend Won Chunθ
🗩