Ist die NDK für eine gute Leistung bei der Entwicklung eines Android Game erforderlich?

Ich habe gehört, wenn ich Android-Spiel ohne Verwendung der NDK zu entwickeln, ist die Leistung deutlich niedriger. Ist das die Wahrheit?

  • Welcher Anteil von Android-Geräten profitiert von Libjpeg-Turbo-Optimierungen?
  • Mit Vanille GCC (oder Clang) mit Android NDK
  • Wie beendet man Android NDK (native Aktivität) Anwendung programmatisch?
  • Paketname und Signaturen von uid / pid der Anwendung im nativen Client erhalten
  • Android gradle duplizieren native gemeinsame Bibliotheken
  • Wie gehe ich valgrind mit einer Android App?
  • Android NDK Debugging
  • Jede Chance, die Verschlusszeit mit Android NDK-Kamera zu reduzieren?
  • 3 Solutions collect form web for “Ist die NDK für eine gute Leistung bei der Entwicklung eines Android Game erforderlich?”

    Ich sehe 3 Hauptgründe für NDK:

    • Du möchtest C / C ++ – Codebasis wiederverwenden (zB Game Engine in C ++ geschrieben, Crossplatform Spiele)
    • Erhalten mehr Speicher (Sie können viel mehr Speicher über NDK verwenden)
    • Ihr Spiel ist sehr CPU-intensiv und Sie brauchen alle Ihre Geräte Power.

    In allen anderen Fällen können Sie wählen, was Ihnen gefällt. SDK / Java erlaubt Ihnen, OpenGL genauso wie NDK zu verwenden, also werden Ihre Grafiken nicht langsam. Du solltest vorsichtig sein mit GC, um glattes Gameplay zu bekommen. Wenn Ihr Spiel sehr CPU-intensiv ist, können Sie einige Methoden in C ++ schreiben und sie über JNI anrufen. Übrigens hat Dalvik JIT so Java-Code kann so schnell (noch schneller) als C-Code sein.

    Nein, das ist einfach nicht wahr.

    Es hängt sehr davon ab, was dein bestimmtes Spiel tut. Die wesentliche Frage ist: Ist Ihr Spiel CPU-intensiv (oder erfordern größere Mengen an Speicher).

    • Wenn es nicht ist, halten Sie sich an das SDK.
    • Wenn du es nicht weißt, weil du in der Vergangenheit noch nicht viele Spiele geschrieben hast, so bleibst du auf dem SDK.
    • Sogar es dort entpuppen sich, Teile des Spiels zu sein, die mit der zusätzlichen Rechenleistung zu tun haben, können Sie diese Teile immer zu nativen Code während der Entwicklung nach Bedarf extrahieren.

    Ein Grund, die NDK über das SDK zu wählen, hat einen riesigen Hintergrund in C ++, was dich in dieser Umgebung produktiver machen könnte. Allerdings, angesichts der aktuellen Stand der Toolsets (bequemes Debugging, Build-Zeiten, einfacher Zugriff auf SDK-Bibliotheken usw.), ist dies nur selten wirksam.

    Nein, du brauchst nicht die ndk zu verwenden, es sei denn du willst ein super-realistisches 3D-Spiel wie Real Racing 3 machen, wenn es ein Spiel mit einfachen Grafiken oder nicht viel zeitkritischen Sachen ist

    Das Android ist ein Google Android Fan-Website, Alles ΓΌber Android Phones, Android Wear, Android Dev und Android Spiele Apps und so weiter.