How to find out Android Device power at runtime?

Hello dear :).

Excuse me if the question was already answered, but I’ve not found the answer.

The problem: I have a GPU intensive water shader what runs well on High End Android devices, but runs slow on Low End devices. I’d like to find out what device is application is currently runs on and decide what water shader to use. Simple shader for weak devices, nice and complex shader for powerful devices.

Could you please point me out how to find out what device I’m running on at runtime?
Thank you very much in advance :).

For starters you could check the SystemInfo, especially PixelFillrate (which unfortunately isn’t supported on every device).

Furthermore, you could render a test scene at the start of your app and measure the performance (with something like System.Diagnostics.Stopwatch) and adjust your quality settings accordingly.

Also, you could dynamically change the quality settings according to your current frame rate.

Good luck!