'ARMv6 with VFP' is killing performance

Right, so I have a problem here. (I seem to be having a lot, lately.)

I can choose between ARMv6 with VFP or ARMv7 under device filter.

Now, a strange problem I had was that Google Play wouldn’t make anything compatible, just about, if I used ARMv7.
Which would be fine, but for some reason ARMv6 with VFP is really killing performance.

My game can run on a first generation HTC Desire. But switch to ARMv6 and my brand new HTC One struggles.
Any way to remedy or explain this?

That sounds like a bug. But if the bug is in Unity, it won’t be fixed since Unity 4 dropped ARMv6 support.

Did you check out multiple APK support doc?

I think it’s probably safe to go with just arm 7 these days, even for asian markets.

On some chipsets the floating-point extension (VFP) when using ARMv6 is much slower than using ARMv7. I don’t know about the Snapdragon inside the HTC One but for chipsets like the ARM Cortex-A8 floating-point operations take 10 times more cycles than ARMv7.

A much larger issue can be that certain instruction sets are not available with ARMv6. Case in point NEON (which Unity takes advantage of to great effect - see http://docs.unity3d.com/Documentation/Manual/MobileProfiling.html and “Multimedia CoProcessing Unit” at the bottom of http://docs.unity3d.com/Documentation/Manual/iphone-Hardware.html (which also applies to Android))

Always use ARMv7. Period.