I have a 3840x2160 Monitor, using Windows 10. I am just creating a window and a renderer. When I set the window size to 200x200 and run the programm, the window shows up and I can render perfectly. But the window really is 400x400 pixels big and a point (SDL_RenderDrawPoint()) is actually 2x2 pixels big. Also when i draw the point at 10,10 it is on the position 20,20 counted by pixels. When I set the Windows 10 resolution in the settings to 1920x1080 the window has the right size and points are only one pixel big and on the right position. I would be really thankful if somebody knows something about that problem and how to get the window to the pixel perfect size with the 3840x2160 settings. ;)
I guess you solved the issue ages ago, but in case someone still has trouble with it: The issue is that Windows scales the window using the UI scaling setting (DPI scaling), as the program is flagged as non DPI aware. I had the same issue with my game on Steam. There are two ways to get Windows 8+ to not apply the scaling to your game: 1) right click on your compiled .exe select properties open the compatibility Tab select Change High DPI settings Tick the bottom box and choose: Override High DPI scaling behavior.
Scaling performed by: Application
This solution is inelegant and not suited for distribution, as you would need every user to do the same.