# CategoryTimer SDL provides time management functionality. It is useful for dealing with (usually) small durations of time. This is not to be confused with _calendar time_ management, which is provided by [CategoryTime](CategoryTime). This category covers measuring time elapsed ([SDL_GetTicks](SDL_GetTicks)(), [SDL_GetPerformanceCounter](SDL_GetPerformanceCounter)()), putting a thread to sleep for a certain amount of time ([SDL_Delay](SDL_Delay)(), [SDL_DelayNS](SDL_DelayNS)(), [SDL_DelayPrecise](SDL_DelayPrecise)()), and firing a callback function after a certain amount of time has elasped ([SDL_AddTimer](SDL_AddTimer)(), etc). There are also useful macros to convert between time units, like [SDL_SECONDS_TO_NS](SDL_SECONDS_TO_NS)() and such. <!-- END CATEGORY DOCUMENTATION --> ## Functions <!-- DO NOT HAND-EDIT CATEGORY LISTS, THEY ARE AUTOGENERATED AND WILL BE OVERWRITTEN, BASED ON TAGS IN INDIVIDUAL PAGE FOOTERS. EDIT THOSE INSTEAD. --> <!-- BEGIN CATEGORY LIST: CategoryTimer, CategoryAPIFunction --> - [SDL_AddTimer](SDL_AddTimer) - [SDL_AddTimerNS](SDL_AddTimerNS) - [SDL_Delay](SDL_Delay) - [SDL_DelayNS](SDL_DelayNS) - [SDL_DelayPrecise](SDL_DelayPrecise) - [SDL_GetPerformanceCounter](SDL_GetPerformanceCounter) - [SDL_GetPerformanceFrequency](SDL_GetPerformanceFrequency) - [SDL_GetTicks](SDL_GetTicks) - [SDL_GetTicksNS](SDL_GetTicksNS) - [SDL_RemoveTimer](SDL_RemoveTimer) <!-- END CATEGORY LIST --> ## Datatypes <!-- DO NOT HAND-EDIT CATEGORY LISTS, THEY ARE AUTOGENERATED AND WILL BE OVERWRITTEN, BASED ON TAGS IN INDIVIDUAL PAGE FOOTERS. EDIT THOSE INSTEAD. --> <!-- BEGIN CATEGORY LIST: CategoryTimer, CategoryAPIDatatype --> - [SDL_NSTimerCallback](SDL_NSTimerCallback) - [SDL_TimerCallback](SDL_TimerCallback) - [SDL_TimerID](SDL_TimerID) <!-- END CATEGORY LIST --> ## Structs <!-- DO NOT HAND-EDIT CATEGORY LISTS, THEY ARE AUTOGENERATED AND WILL BE OVERWRITTEN, BASED ON TAGS IN INDIVIDUAL PAGE FOOTERS. EDIT THOSE INSTEAD. --> <!-- BEGIN CATEGORY LIST: CategoryTimer, CategoryAPIStruct --> - (none.) <!-- END CATEGORY LIST --> ## Enums <!-- DO NOT HAND-EDIT CATEGORY LISTS, THEY ARE AUTOGENERATED AND WILL BE OVERWRITTEN, BASED ON TAGS IN INDIVIDUAL PAGE FOOTERS. EDIT THOSE INSTEAD. --> <!-- BEGIN CATEGORY LIST: CategoryTimer, CategoryAPIEnum --> - (none.) <!-- END CATEGORY LIST --> ## Macros <!-- DO NOT HAND-EDIT CATEGORY LISTS, THEY ARE AUTOGENERATED AND WILL BE OVERWRITTEN, BASED ON TAGS IN INDIVIDUAL PAGE FOOTERS. EDIT THOSE INSTEAD. --> <!-- BEGIN CATEGORY LIST: CategoryTimer, CategoryAPIMacro --> - [SDL_MS_PER_SECOND](SDL_MS_PER_SECOND) - [SDL_MS_TO_NS](SDL_MS_TO_NS) - [SDL_NS_PER_MS](SDL_NS_PER_MS) - [SDL_NS_PER_SECOND](SDL_NS_PER_SECOND) - [SDL_NS_PER_US](SDL_NS_PER_US) - [SDL_NS_TO_MS](SDL_NS_TO_MS) - [SDL_NS_TO_SECONDS](SDL_NS_TO_SECONDS) - [SDL_NS_TO_US](SDL_NS_TO_US) - [SDL_SECONDS_TO_NS](SDL_SECONDS_TO_NS) - [SDL_US_PER_SECOND](SDL_US_PER_SECOND) - [SDL_US_TO_NS](SDL_US_TO_NS) <!-- END CATEGORY LIST --> ---- [CategoryAPICategory](CategoryAPICategory)