I’m not sure whats the best approach to this. There’s so many ‘Knobs’ that I dont know which should I be using to make a “battery life saver mode” in my game that the user may choose to set.
I also want to throw my hat in the ring to get some info on this.
From what I understand the Render Scale for Scriptable Render Pipeline Settings will only affect your cameras, meaning your UI will stay crisp.
Target DPI / Resolution Scaling Fixed DPI Factor seem to affect the entire final image however I can’t work out the difference between these two. According to the documentation, the maths here is…
min(Target DPI * Factor / Screen DPI, 1)
…so not sure why you would choose to lower one over the other.
Currently, I’m finding on my android device (Samsung S20, native 2322 x 1080, 120hz, 480dpi) the best option for pure performance is Target DPI / Resolution Scaling Fixed DPI Factor (I dropped my dpi to 240, it was ‘acceptable’ but you lose UI quality, looks a bit muddy). Render Scale gave me some frames back but not as much, however, the UI remained crisp.
This makes sense since using the DPI settings is probably asking less to be rendered by the device. Render Scale is rendering the camera image at a lower resolution but ultimately the game is probably still asking the device to render the final image at the native resolution.
Hopefully someone can give a clearer breakdown, this is just me having a play around for a few hours so don’t take it as gospel. Hopefully I’m not spreading miss information!
Would also recommend Graphy on the asset store for monitoring framerate on device, it also gives you device information and the resolution being rendered out.
Resolution Scaling Fixed DPI Factor is a percentage of the Target DPI value.
For example, i have my Target DPI set to 400 and allow my players to use the full 400 or lower by setting the Resolution Scaling Fixed DPI Factor to lower than 1.