Simplify resolution settings for scaled proxies
In the project settings, and the global preferences, the user is shown with two spinbutton widgets for scaled proxies: width and height. These default to 1920 and 1080.
As pointed out in issue #2356, at HD-and-above resolutions, proxies are consuming humongous amounts of disk space, and in the case of scaled proxies this makes no sense because if you wanted native resolution versions you'd use the "HQ"/"optimized" proxies instead, and the viewer almost never eats over a third of the screen width (let alone half), etc.
Furthermore, the two settings seem to be unnecessary vs having just one user setting: "Max width or height (in pixels):", because the current implementation takes whatever is the smallest constraining dimension for each clip... so might as well just provide one setting, that applies as a constraint for either width or height. For example, if you set it to "500", then if you have a 16:9 1280x720 source clip it will become, for example, 496x279 (not sure if that's normal or a bug vs having a 500x281 clip). If you had a 9:16 clip, it would be 279x496, and so on. Essentially, we set a square constraint box, which "in most cases" constrains the width, hence no need to bother the user with two settings?
So there are two things I'm suggesting here:
- Single pixel dimension setting for proxies resolution constraints? This could simplify the UI quite a bit.
- Should default to a much lower setting than 1920x1080. Either you can try to calculate a third of the screen width (which is a pretty good rule of thumb, works whether you're on a laptop at 1280x800 or a desktop at 2560x1200), or you can just hardcode it to 500 (or up to 600) pixels, because that still works on most screens (including the two mentioned scenarios) due to the width or height constraints.
This will, again, increase performance and lower disk usage significantly.