# 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)