Na płynniejsze działanie pomaga kod w C++. OpenGL ES 2.0 to lepsza grafika. Razem mamy szybkie gry z fajną grafą 3D. A o języku programowania shaderów można pogadać na forum o programowaniu grafiki 3D
😉
Nie do końca, bo kompilatory C++ generują słaby kod dla procków ARM (w porównaniu do kodu generowanego przez GCC/ICC na x86, gdzie potrafią robić cuda - ofc poprawiają się z wersji na wersje, ale dalej nie jest najlepiej (jednak IMO najważniejszą zaletą nowego NDK to wymiana kompilatora GCC z 4.2.1 na 4.4)), a NDK to nie program napisany w C++, tylko w Dalvik korzystający z biblioteki napisanej w C++ i udostępniającej jej funkcje za pomocą JNI (co jest związane z dużym narzutem ze strony wirtualnej maszyny).
No i rozmawiam na takim forum i piszę shadery w obu (Cg w rendererze OpenGL 2.1, GLSL w rendererze OpenGL 3.2), ale tu nie miałobyć dyskusji o językach programowania tylko chciałem zaznaczyć, że PS3 (GLES1.0 zmodyfikowany) od telefonów z OpenGL ES 2.0 nie wiele się różnią (tylko zapisem shaderów)... ofc jeśli przyjrzeć się bliżej to na ps3 mało się pisze w OpenGL ES i wszystko bezpośrednio się robi na command buforze, ale nie miejsce, żeby o tym mówić ;p
A kto powiedział, że NA konferencji??? Konferencja to sposób na zareklamowanie ulepszeń w API i zachęcenie developerów do pisania (oczywiście PO konferencji) nowych gier wykorzystujących nowości. A poza tym to część poważnych producentów gier pewnie API dostało znacznie wcześniej...
Takie odniosłem wrażenie po słowach, że z okazji zbliżającego się GDC pojawią się gry - ale ok teraz wszystko jasne. Tak API znamy wcześniej (SDK z OpenGL ES 2.0 jest już od jakiegoś czasu), a Api GLES2 jest znane od bardzo dawna i specyfikacja jest dostępna.
No ale apps napisany w C++ - nawet z wykorzystaniem softwareowych driverów - będzie działał wydajniej od tego samego napisanego pod Dalvika (nawet z JIT'em). Jest więc szansa, że parę fajnych gierek da się jednak odpalić na G1
🙂
Jak pisałem - programy na Androida nawet z NDK nie są pisane w C++, tylko w Dalvik który się komunikuje z biblioteką *.so (taki linuksowy odpowiednik dll), jednak w samym rysowaniu w C++ nie będzie żadnego zysku (wywołanie kilku funkcji przesłania/wyświetlenia wierzchołków w VBO w Javie to nic innego, jak właśnie użycie NDK, tylko niejawnie (biblioteka GLES w systemie jest pisana w C++ i dalvik sam się z nią skomunikuje)) - zysk może być minimalny w bardziej wymagających obliczeniach (w mało zajmujących rzeczach, więcej będzie kosztował narzut niż zysk).
Na iPhone zawsze będzie więcej gier ponieważ łatwiej je napisać, więcej potencjalnych klientów i (w miarę) bezproblemowy system dystrybucji.
Nie do końca łatwiej napisąć, bo tak jak i w androidzie nie pisze się w znanym wszystkim programistą gier C++, a Objective-C wykorzystywanym tylko przez Apple. Co do dystrybucji do Market wiele nie ustępuje, a wszystkie analizy mówią, że android wyprzedzi popularnością (liczbę potencjalnych klientów) iPhone za kilka lat (już widać znaczny spadek iPhone OS i wzrost Androida).