Cmq Epic Games continua a dire una marea di minchiate (tipo quelle sul 3DS).
Android è ESATTAMENTE identico a iOS per la programmazione di applicazioni hi-performance in C++.
A parte che non c'e' un IDE che funziona, che non c'e' del tutto un profiler, che il debugger fa quello che c'ha voglia SE c'ha voglia di farlo, che non c'e' un'implementazione delle STL nell'NDK, e che meta' delle chiamate OpenGL ES 1.2 sono non implementate, in effetti, e' tutto identico.
No ma sai, magari su quel particolare device, con quella particolare implementazione dell'ndk, jailbreakato e tutto, magari funziona come l'iOS. Mmmh?
Il vostro problema, detto francamente, è l'arroganza che vi mangia vivi...
Se uno non riesce a fare una cosa e tutto il resto del mondo si, magari vale la pena farsi un'esame e riconoscere che qualcosina forse la stiamo sbagliando. Tipo usare un livello di implementazione di un'API grafica non previsto dal device.
Ad esempio usate codice STL? Lo sapete che lo standard ARM sconsiglia l'uso di STL per motivi di ottimizzazione delle dimensioni e della cache della CPU? Lo sapete cosa succede alle API STL dopo che il compilatore per Apple produce e ottimizza il binario? Praticamente le ELIMINA.

Lo sapete che comunque c'è una implementazione di STL per Android?
Sempre che STL sia la soluzione. Ai miei tempi anche su PC era il male perché prestazioni e affidabilità variano molto persino da compilatore a compilatore e per i giochi nella maggior parte dei casi si faceva riferimento a kit third party che garantissero una certa trasparenza funzionale e prestazionale. L'anno scorso ho avuto ancora a che fare con STL ed ho trovato le stesse limitazioni.
Bisogna avere parecchia esperienza prima di imbarcarsi a fare "porting" di engine 3D sa una piattaforma all'altra. E bisogna avere un team forte, molto competente e numeroso e organizzato. Ve lo dice uno che fa 3D mobile da quando inziò con Sony nel 2005. Costa parecchi soldi e richiede parecchio tempo.
Apple può dire quanto vuole che iOS sia una console ma è solamente un altro handset basato su ARM. Con ottimi tool che però come anche voi mi dimostrate si rivelano una trappola per sviluppatori inesperti che si cimentano per la prima volta sulle particolarità dello sviluppo mobile.
I problemi che avete voi a fare iOS->Android li ha anche chi fa Android->iOS o chi passa dal C++ di NGAGE o Symbian alle altre piattaforme ed i motivi sono simili: è un grosso errore pensare che si possa portare il codice di un engine creato esclusivamente per una singola piattaforma, anche se l'hardware sottostante è il medesimo.
Poi fatemi capire: mi confutate che l'ARM di Apple sia diverso dall'ARM di Android (non lo è) e mi portate come esempio le API? Abbiamo un problema grosso, ragazzi. Se dovete fare roba multipiatta c'è bisogno di meno codice platform dependant possibile. Come fa l'engine di Epic
