Inexplicable performance difference in Unity Android
Scenario: I have a simple scene with around 15k tris (depending on where you look), using Legacy Difuse shaders. I run the game on a Galaxy S5. From GSM Arena:
released 2014, April
Chipset Qualcomm MSM8974AC Snapdragon 801 (28 nm)
CPU Quad-core 2.5 GHz Krait 400
GPU Adreno 330 Getting 50 FPS average
Profiler screenshot
I run the game on a Lenovo P2. GSM Arena:
Released 2016, November
Chipset Qualcomm MSM8953 Snapdragon 625 (14 nm)
CPU Octa-core 2.0 GHz Cortex-A53
GPU Adreno 506 Getting 38 FPS average
Profile screenshot
What I've tried so far:
replace the legacy difuse shader with mobile difuse -> both phones gain 10 fps, same performance gap
disable auto graphics api and force GLES2 - no difference
force GLES3 - no difference
Same game, same graphics profiles (preferences), same everything. How is this possible?