Question: I have an `SDL_Renderer` which I set to use or not use vSync depending on the user). In my options menu I have an option for enabling/disabling vSync. Can I edit my renderer to update the vSync preferences so that I don't have to destroy and recreate it? Doing so would invalidate a lot of renderer pointers in my game, so I would like to find an alternative solution.

Answer: 
Ok, I asked on the SDL Forums too: 

* There is no way to edit vSync settings after renderer creation without using OpenGL.
* [Destroying the renderer](https://gamedev.stackexchange.com/q/114131/62216) and re-creating it, is not an option because it will destroy every texture created with it.

So vSync shouldn't be an user-editable setting (at least for now).
Since 2.0.18 you can use [SDL\_RenderSetVSync](https://wiki.libsdl.org/SDL_RenderSetVSync):

> 
> Toggle VSync of the given renderer.
> 
> 
> **Syntax**  
> 
> `int SDL_RenderSetVSync(SDL_Renderer* renderer, int vsync);`
> 
> 
> 

`vsync` can be set 1 for on or 0 for off (other values are reserved).