[video member=cmuratori stream_platform=twitch stream_username=handmade_hero project=code title="Enforcing a Video Frame Rate" vod_platform=youtube id=TPpn2fee77M annotator=AndrewJDR annotator=dspecht annotator=jacebennett annotator=schme] [1:40][Discussion: Why we need to have an enforced video frame rate] [5:27][Drawing and explaining the frame computation and displaying timeline] [10:35][Explaining Variable Frame Rate Monitors] [18:00][Casey's Game Loop Design Overview] [20:15][The two audio choices we can use] [25:23][Multiple Monitor discussion] [32:10][Start implementing the enforced video frame rate] [36:20][Looping to ensure we are within the targetSecondsPerFrame] [38:40][Debugging: no input] [40:41][Compressing/Refactoring Clocking stats] [49:05][Implementing sleep to not melt our CPU] [53:20][Setting the Windows scheduler granularity with timeBeginPeriod()] [1:00:30][Q&A][:speech] [1:01:08][Question: If we are locking the frame rate. Would that not mean that someone with a lower end computer, would have a slower game speed to others] [1:02:41][Question: Even if you could get the refresh rate of the monitor, how do you sync with it on the vertical blink] [1:03:52][Question: Doesn't the sleep function go in the surrounding IF instead of the WHILE loop] [1:05:47][Question: Does Win32FillSoundBuffer need to come after the vsync loop] [1:06:54][Question: Check DWM.GetComposition if AERO is on] [1:07:13][Question: Could you explain the advantages or disadvantages to handling update and render on different threads] [1:09:26][Question: How would you adjust your memory management to work on devices with limited memory] [1:09:42][Question: Won't we miss frame rate due to the sleep] [1:12:58][Question: Can you fix the physics animation frame rate without fixing the missing frame issue] [1:16:10][Question: Why are we handling sound and video differently] [1:16:27][Question: Check if DDraw works on windows 8] [1:16:52][Question: Wouldn't you want to fill the screen buffer before you hit the flip point, so it can grab the screen at the flip point] [1:18:03][Question: Isn't DWORD an Interger] [1:18:41][Question: What do you think about having a fixed physics time unconnected to the drawn frame time] [1:20:00][Question: Any time you compute a world update should that not just set something that says if we get there early then wait.] [/video]