Tin tức và phân tích của tất cả các thiết bị di động

SDK trò chơi Android: Nó là gì và làm thế nào để sử dụng nó trong ứng dụng của bạn

SDK trò chơi Android

Android Game SDK là một bộ thư viện mới của Google, được thiết kế để giúp tạo điều kiện phát triển trò chơi tốt hơn. Hoặc ít nhất, đó là những gì nó hứa hẹn sẽ có trong tương lai không xa. Ngay bây giờ, SDK trò chơi Android trên thực tế chỉ là một thư viện: Thư viện tạo khung Android, rõ ràng còn được gọi là Thư Swappy.

Thông báo được đưa ra vào đầu tháng 12 năm 2019 và có thể được coi là bao gồm quá hạn dài. Hy vọng, các lần lặp lại trong tương lai sẽ giúp hợp lý hóa quy trình phát triển trò chơi, cho phép các nhà phát triển nhanh chóng thiết kế và phát hành các trò chơi giải đố, platformer hoặc thậm chí các tựa game 3D mà không cần dựa vào các công cụ của bên thứ ba như Unity và Unreal.

Bài đăng này sẽ được cập nhật thường xuyên vì các yếu tố mới được thêm vào SDK trò chơi Android, vì vậy hãy đánh dấu trang này và kiểm tra lại. Hiện tại, chúng tôi sẽ xem xét Thư viện tạo nhịp.


Thư viện tạo nhịp độ hoạt động như thế nào

Thư viện này được thiết kế để giúp các trò chơi duy trì tốc độ khung hình ổn định với độ trễ đầu vào tối thiểu. Nó thực hiện điều này bằng cách đồng bộ hóa vòng lặp kết xuất trò chơi với hệ thống con và phần cứng hiển thị hệ điều hành. Hệ thống con hiển thị nhằm giảm sự xé rách đôi khi có thể xảy ra khi phần cứng chuyển từ khung hình này sang khung hình khác giữa chừng thông qua một bản cập nhật. Nó thực hiện điều này bằng cách đệm các khung trước đó, phát hiện các lần gửi muộn và lặp lại hiển thị các khung trước đó để phát hiện khung muộn.

Thư viện tốc độ khung hình quá nhanh

Từ Google

Tuy nhiên, điều này có thể cho phép không đồng bộ hóa dẫn đến thời gian hiển thị khung không nhất quán. Ví dụ: nếu một khung hình được hiển thị nhanh hơn, điều này có thể rút ngắn thời gian mà khung hình trước đó dành cho màn hình. Tuy nhiên, các khung hình sẽ mất quá nhiều thời gian để hiển thị, sau đó nó có thể được hiển thị cho một khung bổ sung.

Thư viện Tốc độ Khung giải quyết các vấn đề này bằng API Biên đạo Android Android để đồng bộ hóa trò chơi với hệ thống con hiển thị. Nó đạt được điều này bằng cách sử dụng tiện ích mở rộng dấu thời gian trình bày trên API OpenGL và Vulkan, đảm bảo các khung được trình bày đúng thời điểm. Nó cũng sử dụng hàng rào đồng bộ hóa để ngăn chặn nhồi đệm. Nhiều tốc độ làm mới cũng được hỗ trợ, cho phép các nhà phát triển nhắm mục tiêu các loại thiết bị khác nhau – bao gồm màn hình 90Hz và 120Hz – và các tùy chọn tùy chỉnh. Thời gian trình bày khung được tự động điều chỉnh để chiếm phần cứng của thiết bị.


Cách sử dụng Thư viện tạo khung SDK SDK của trò chơi Android

Nếu trò chơi của bạn sử dụng Vulkan trên OpenGL, thì bạn sẽ có thể sử dụng thư viện này. Để làm như vậy, trước tiên bạn sẽ cần tải xuống SDK trò chơi Android tại đây.

Để xem cách thức hoạt động của nó, bạn cũng có thể tải xuống mẫu Bouncy Ball tại đây để kiểm tra với OpenGL. Bạn có thể tìm thấy hướng dẫn cho Vulkan ở đây. Mở dự án, sau đó chạy ứng dụng để đảm bảo nó hoạt động.

Tiếp theo, liên kết dự án với thư viện. Đối với các thư viện tĩnh, hãy làm điều này bằng cách thêm trò chơi / bao gồm để trình biên dịch bao gồm các đường dẫn và swappy / swappyGL.h để tích hợp với OpenGL ES. Trong hầu hết các trường hợp, tệp tiêu đề sẽ chứa tất cả các chức năng cần thiết.

Cuối cùng, thêm đường dẫn sau vào đường dẫn thư viện liên kết của bạn:

gamesdk/libs/architecture_APIapiLevel_NDKndkVersion_stlVersion_Release

Tất nhiên, bạn sẽ trao đổi văn bản in đậm cho bộ xử lý / phiên bản NDK có liên quan, v.v.

Khởi tạo một phiên bản của Tốc độ khung hình Android bằng cách sử dụng:

void SwappyGL_init(JNIEnv *env, jobject jactivity);

Và phá hủy ví dụ với:

void SwappyGL_destroy();

Bây giờ các chức năng sau sẽ cho phép bạn định cấu hình khoảng thời gian trao đổi và thời gian làm mới:

void SwappyGL_setSwapIntervalNS(uint64_t swap_ns);    void SwappyGL_setFenceTimeoutNS(uint64_t fence_timeout_ns);    void SwappyGL_setUseAffinity(bool tf);

Gọi ngay cho bạn sau khi bạn đã khởi tạo SwappyGL_init (), mà càng gần khi động cơ của bạn khởi động càng tốt. Vượt qua thời lượng của khung hình vào SwappyGL_setSwapIntervalNS () sử dụng SWAPPY_SWAP_60FPS, SWAPPY_SWAP_30FPS, hoặc là SWAPPY_SWAP_20FPS hằng số (khi thích hợp).

Bây giờ thực hiện trao đổi khung bằng bool SwappyGL_swap (Hiển thị EGLDisplay, bề mặt EGLSurface). Điều này kết thúc tốt đẹp eglSwapBuffers () phương pháp được sử dụng bởi Open GL ES, vì vậy bạn nên thay thế tất cả các phiên bản bằng phiên bản mới.

Bạn có thể kiểm tra xem Tốc độ khung hình đã được bật chưa bool SwappyGL_isEnables ().

Để biết hướng dẫn chi tiết hơn về cách sử dụng Thư viện tạo khung, hãy xem trang hướng dẫn dành cho nhà phát triển Android chính thức.

Sử dụng SDK trò chơi Android trong Unity

Thư viện tạo nhịp khung hình cũng được bao gồm trong phiên bản Unity 2019.2 và ở trên. Chỉ cần chọn hộp kiểm Tạo khung tối ưu hóa trong Cài đặt Android và bạn sẽ tự động kích hoạt tốc độ khung hình mượt mà hơn cho các trò chơi của mình.

Một lần nữa, Unity làm cho cuộc sống dễ dàng hơn nhiều cho các nhà phát triển trò chơi!


Nhìn về phía trước

Cá nhân, tôi cảm thấy rất nhiều thời gian mà Google dành cho các nhà phát triển tình yêu, vì vậy tôi thấy đây là một điều rất tích cực. Bản thân Thư viện Tốc độ Khung hình cũng có thể là một bổ sung đáng hoan nghênh, đặc biệt đối với các trò chơi đòi hỏi khắt khe hơn muốn cung cấp tốc độ khung hình mượt mà. Mặc dù đó là một khởi đầu nhỏ, vì vậy tôi đã nhanh chóng tìm ra một số thư viện hữu ích rộng rãi hơn để sớm ra mắt với SDK trò chơi Android.

Thêm bài viết về Phát triển Android

Lập trình học C #

Cách tạo các ứng dụng không phải trò chơi trong Unity

Giới thiệu về C # cho Android

Tất cả các tin tức và tính năng mới nhất dành cho nhà phát triển Android bạn cần biết về

Android p beta

Cách sử dụng cử chỉ và điều hướng dựa trên cử chỉ trong ứng dụng Android của bạn

Học cách bảo mật dữ liệu

Bảo vệ người dùng của bạn. Quyền riêng tư: Bảo mật ứng dụng Android cho nhà phát triển

sự phát triển trò chơi

Cách thêm đồ họa 3D và các tính năng Unity khác vào ứng dụng Android gốc của bạn

Các widget cho màn hình chính của Android

Tạo một tiện ích cuộn cho ứng dụng Android của bạn

Android Q Beta 5 Nhìn trộm

Chủ đề tối, API nhiệt và bong bóng: Chuẩn bị ứng dụng của bạn cho Android 10

Android Q Beta 5 Nhìn trộm

Tin tức và tính năng dành cho nhà phát triển Android (tháng 7 năm 2019)

Android Q Beta 4 Hướng thông báo vuốt

Tin tức và tính năng dành cho nhà phát triển Android: tháng 6 năm 2019

Bắt đầu với Facebook cho SDK Android

Mục lục