Tôi nghe nói nếu tôi phát triển Trò chơi Android mà không sử dụng NDK, hiệu suất sẽ thấp hơn đáng kể. Đây có phải là sự thật không?NDK có cần thiết cho hiệu suất tốt trong việc phát triển Trò chơi Android không?
Trả lời
Tôi thấy 3 lý do chính để sử dụng NDK:
- bạn muốn sử dụng C/C++ cơ bản (ví dụ như công cụ trò chơi viết bằng C++, trò chơi crossplatform)
- có được nhiều bộ nhớ hơn (bạn có thể sử dụng nhiều nhiều bộ nhớ hơn thông qua NDK)
- trò chơi của bạn rất chuyên sâu về CPU và bạn cần tất cả sức mạnh thiết bị của mình.
Trong tất cả các trường hợp khác, bạn có thể chọn bất cứ thứ gì bạn muốn. SDK/Java cho phép bạn sử dụng OpenGL theo cách tương tự như NDK, vì vậy đồ họa của bạn sẽ không bị chậm. Bạn nên cẩn thận với GC để có được lối chơi mượt mà. Nếu trò chơi của bạn rất chuyên sâu về CPU, bạn có thể viết một số phương thức trong C++ và gọi chúng qua JNI. Bằng cách này, Dalvik có JIT vì vậy mã Java có thể nhanh (thậm chí nhanh hơn đôi khi) là mã C.
Cảm ơn bạn đã trả lời! – user1788012
Không bạn không cần phải sử dụng ndk trừ khi bạn muốn thực hiện một trò chơi 3d siêu thực tế như Real Racing 3 nếu nó là một trò chơi với đồ họa đơn giản hoặc không có nhiều thời gian thứ quan trọng java là ok
Không, Đó chỉ đơn giản là không đúng sự thật.
Điều đó phụ thuộc rất nhiều vào những gì trò chơi cụ thể của bạn đang làm. Câu hỏi cần thiết là: là trò chơi của bạn sẽ là CPU chuyên sâu (hoặc yêu cầu bộ nhớ lớn hơn).
- Nếu không, hãy liên kết với SDK.
- Nếu bạn không biết, bởi vì bạn chưa viết nhiều trò chơi trong quá khứ, bằng mọi cách, hãy liên kết với SDK.
- Ngay cả khi nó trở thành một phần của trò chơi có thể làm với sức mạnh xử lý bổ sung, bạn luôn có thể trích xuất các phần đó thành mã gốc trong khi phát triển nếu cần.
Một lý do để chọn NDK trên SDK là có nền tảng lớn trong C++, điều này có thể giúp bạn làm việc hiệu quả hơn trong môi trường đó. Tuy nhiên, với trạng thái hiện tại của các bộ công cụ (gỡ lỗi thuận tiện, thời gian xây dựng, truy cập dễ dàng vào thư viện SDK, v.v), điều này hiếm khi hiệu quả.
Trớ trêu thay có một lý do khác để dính vào NDK: mã di động trên nền tảng. Tuy nhiên, ngay cả điều này có thể đạt được (bằng cách nào đó) bởi HTML5 và Javascript. –
- 1. Hiệu suất trò chơi XNA
- 2. Phát triển NDK của Android
- 3. Bắt đầu phát triển trò chơi Android
- 4. Phát triển trò chơi Android và Bộ sưu tập rác
- 5. Phát triển trò chơi xếp hình trong Android
- 6. Cần trợ giúp để phát triển trò chơi nhiều người chơi trên android
- 7. Phát triển trò chơi Codeigniter
- 8. Cocos2D HOẶC libgdx để phát triển trò chơi Android
- 9. Phát triển trò chơi trong vb.Net
- 10. Phát triển trò chơi Android - Di chuyển điện thoại
- 11. Phát triển trò chơi trên Android: Phát hiện va chạm Không
- 12. AS3 giảm hiệu suất trò chơi lớn theo thời gian
- 13. Từ điển tiếng Anh cần thiết cho trò chơi chữ
- 14. android opengl trò chơi
- 15. Bạn phát triển trò chơi cho Google+ bằng cách nào?
- 16. Thiết kế lớp hướng đối tượng tốt để phát hiện va chạm trong phát triển trò chơi
- 17. Chiến lược thiết kế và kiến trúc trò chơi cho trò chơi nhiều người chơi
- 18. Tôi có thể tạo trò chơi HTML5 cho Android không?
- 19. Tài nguyên tốt về cách sử dụng lập trình chức năng trong phát triển trò chơi?
- 20. Tôi cần sử dụng gì để phát triển trò chơi trong C#?
- 21. Sách thực hành về phát triển trò chơi trong C++?
- 22. Cách tốt nhất để tách logic trò chơi khỏi hiển thị cho trò chơi có nhịp độ nhanh cho Android bằng OpenGL?
- 23. Coroutines cho thiết kế trò chơi?
- 24. Phát triển trò chơi: Bạn tạo trò chơi câu chuyện bằng cách nào?
- 25. Cách tiếp cận tốt nhất cho trò chơi 2D giống như trò chơi zelda 2D
- 26. Trò chơi Android UDP/TCP?
- 27. tốt hơn trong việc phân tích hiệu suất trong Android, XML hoặc JSON?
- 28. Tại sao bạn không thể phát triển trò chơi XNA trong VB.Net?
- 29. SharpDX vs SlimDX để phát triển trò chơi?
- 30. Android - Cách bật CheckJni để phát triển NDK?
Nhà phát triển Android [bài đăng blog] (http://android-developers.blogspot.co.uk/2010/06/game-development-for-android-quick.html) từ năm 2010 cung cấp cho [Đảo Replica] (http : //replicaisland.net/) làm ví dụ về trò chơi java được viết tốt. – Chilledrat