I guess the main thing is the use case of this breakneck type is quite complicated. It needs to sleep for 1/UpdatesPerSecond, 1/FramesPerSecond, or 1/MaxThrottle, and needs to be able to resume sleeping for the next event. e.g. if we resume for render but update is not due yet, then we just need to sleep for the remaining time until update is due or the max throttle (whichever is smaller)