2013-03-15 6 views

Odpowiedz

14

widzę 3 główne powody, aby korzystać z NDK:

  • chcesz ponownie użyć C/C++ kod podstawowy (np silnik gry napisane w języku C++, gry crossplatform)
  • dostać więcej pamięci (można użyć dużo więcej pamięci poprzez NDK)
  • Twoja gra jest bardzo obciążająca procesor i potrzebujesz całej mocy swojego urządzenia.

We wszystkich innych przypadkach możesz wybrać, co chcesz. SDK/Java pozwala używać OpenGL w taki sam sposób, jak NDK, więc twoja grafika nie będzie wolna. Powinieneś być ostrożny z GC, aby uzyskać płynną rozgrywkę. Jeśli twoja gra wymaga dużej mocy obliczeniowej, możesz napisać kilka metod w C++ i wywołać je przez JNI. Przy okazji, Dalvik ma JIT, więc kod Java może być równie szybki (czasem nawet szybciej) jak kod C.

+0

Dziękuję za odpowiedź! – user1788012

1

Nie, nie trzeba korzystać z NDK, chyba że chcesz zrobić super-realistyczne gry 3D, takie jak Real Racing 3 jeśli jest to gra z prostą grafiką lub niewiele czasu krytyczne rzeczy Java jest ok

7

Nie, to po prostu nieprawda.

To zależy od tego, co robi konkretna gra. Podstawowe pytanie brzmi: to twoja gra będzie intensywnie CPU (lub wymagają większej ilości pamięci).

  • Jeśli nie jest, trzymaj się zestawu SDK.
  • Jeśli nie wiesz, ponieważ nie pisałeś jeszcze wiele gier w przeszłości, należy trzymać się SDK.
  • Nawet jeśli okaże się, że są to części gry, które mogą zrobić z dodatkową mocą przetwarzania, zawsze można wyodrębnić te części do kodu natywnego podczas tworzenia w razie potrzeby.

Jednym z powodów, dla których warto wybrać pakiet NDK w SDK, jest ogromne tło w języku C++, które może zwiększyć produktywność w tym środowisku. Jednak biorąc pod uwagę obecny stan zestawów narzędzi (wygodne debugowanie, czasy kompilacji, łatwy dostęp do bibliotek SDK itp.), Rzadko jest to skuteczne.

+0

Jak na ironię, jest jeszcze jeden powód, by trzymać się NDK: przenośny kod na różnych platformach. Jednak nawet to można osiągnąć (w jakiś sposób) przez HTML5 i JavaScript. –

Powiązane problemy