I'll be absolutely honest, I took an old game with a lot of badly optimized code, HD screen resolution intended for desktop-only, loads of layers and extensions (even some 3rd-party that weren't comparable with the exporter and wouldn't build) in Fusion 2.5, and slapped on a thumbstick and compiled my very first ever android apk in F2.5. And it worked. Flawlessly. Perfect performance. Smooth fps and gameplay. First. Apk. Ever.
I've build hundreds of apks in Cocoon, Phonegap and XDK. And none of them have come out well. So far, my only "succesful" compile with cocoon on GooglePlay doesn't even work with some phones (thanks to cocoon, XDK was painful slow).
That's just my experience though.
I had a similar experience
packaging a construct2 game + xdk = a super slow when ran from the installed game, but normal speed when running from localhost. So when you playtest with localhost you get different performance from waht you actually get when you export the game to an apk - inside a wrapper
Exporting a fusion 2.5 game - when playtesting fusion creates a native apk and moves it to the phone via the usb cable, then runs the apk. So what you get when playtesting is the same as what you will get in the final game - and the speed/framerate was much better than construct's wrapped in xdk game apk.
I think the low performance in construct2 games installed via apk is the wrapper. I tried it only with xdk, havent tested with cacoon.. That was a while ago though. Since then maybe xdk got faster?
Native built games will always outperform games relying on a wrapper, because they dont have an extra software layer to talk to the hardware.
A good question to ask is - will construct3 editor be able to export to html5 without using any network service, and allow the user to wrap the game with xdk/cacoon the same way construct2 does?