Do GPU performance improve when rendering at native or half resolution, compared to fixed scaling? This might be an odd question, but I was wondering if you could improve GPU performance with games, comparatively, when using doubles/halves of the native resolution, instead of an odd ratio of that.

Lets compare the situation with a metaphor first. If I'd give you a standard A4 sheet of paper, I bet you can more easily fold it in half than 1/3rd. Same goes when I'd give you two sheets of A4 and ask you to create a A3-size rectangle, instead of a not-A3-but-larger-than-A4-shape.

To go back to the actual situation: My Macbook has a native resolution of 2880x1800. But the game offers a variety of resolutions, such as 1440x900, 1680x1050, 2048x1280, 2560x1600 and for some reason also 3360x2100, which is above the native resolution..

If we'd include the sheet of paper thought in resolution scaling with games, compared to the native resolution, I'd say 1440x900 could run even better than 1280x800, because the GPU could simply say: reduce all pixels by 50%. Not only is that an easier calculation, but it's also much easier to interpolate, if that's the correct word for it to calculate how the pixel should look like.

Sudden thought: This does assume the game environment is rendered at the native resolution and thereafter downscaled to the set resolution, which is probably wrong. That said, I do think it'd be easier to render at half the resolution than something like 40%.

This idea does apply to Photoshop with increasing and decreasing the resolution: Always increase with halves and doubles. So why not games?



I'm not only very interested in the actual answer, but perhaps makes it easier to set a resolution for a battery vs performance question :)
GPUs can efficiently scale an image by an arbitrary amount (within limits - display options fall within those limits by design) either using a 3D rendering operation or as the signal is sent from GPU to the display. Both of these paths have fully dedicated hardware for the arbitrary resizing and are not likely to be optimized for doubling or halving. Both support a technique called "bilinear filtering" though advances in display hardware may provide higher quality.

If a game is run at non native resolution on a laptop (TVs and desktop displays have their own scalers, but laptop displays generally rely on the GPU), one of these two methods will be used. Display scaling is essentially "free", so it is preferred and the lower the resolution the game is originally rendered the faster the frame rate (or the lower power consumption) - with no special performance benefit for, say, doubling. If a 3D operation is required (say, due to a limitation or issue in the display scaler), the scale operation is not free, but is going to go up with the source and destination sizes smoothly, with no special casing at doubling/halving.

The game may look far better at certain scaling factors, but that's up to the user to decide.

Edit: The intuition behind the question is correct: if GPUs didn't have dedicated scaling hardware, doubling/halving could implemented more efficiently than arbitrary scaling, either in shader code or via a slightly simpler hardware design - though the 3D rendering operation is a requirement of graphics APIs and display scaling is a requirement from systems vendors.