Configures the maximum allowed number of frames in flight.
Defined in <SDL3/SDL_gpu.h>
bool SDL_SetGPUAllowedFramesInFlight(
SDL_GPUDevice *device, Uint32 allowed_frames_in_flight);
SDL_GPUDevice * | device | a GPU context. |
Uint32 | allowed_frames_in_flight | the maximum number of frames that can be pending on the GPU. |
(bool) Returns true if successful, false on error; call SDL_GetError() for more information.
The default value when the device is created is 2. This means that after you have submitted 2 frames for presentation, if the GPU has not finished working on the first frame, SDL_AcquireGPUSwapchainTexture() will fill the swapchain texture pointer with NULL, and SDL_WaitAndAcquireGPUSwapchainTexture() will block.
Higher values increase throughput at the expense of visual latency. Lower values decrease visual latency at the expense of throughput.
Note that calling this function will stall and flush the command queue to prevent synchronization issues.
The minimum value of allowed frames in flight is 1, and the maximum is 3.
This function is available since SDL 3.2.0.