Coding-Development-Game-Living-Room-Android-dokterapk

Android Game SDK: Pengertian dan Cara Menggunakan

Android Game SDK adalah serangkaian perpustakaan baru dari Google, yang dirancang untuk membantu memfasilitasi pengembangan game yang lebih baik. Atau setidaknya, itulah yang dijanjikan di masa depan yang tidak terlalu jauh. Untuk saat ini, Game Android SDK sebenarnya hanya satu perpustakaan: Android Frame Pacing Library , tampaknya juga dikenal sebagai “Swappy.”

Pengumuman itu datang pada awal Desember 2019 dan dapat dianggap sebagai inklusi yang sudah lama ditunggu. Mudah-mudahan, iterasi masa depan akan membantu untuk merampingkan proses pengembangan game, memungkinkan pengembang untuk lebih cepat merancang dan merilis game puzzle, platformer, atau bahkan judul 3D tanpa bergantung pada mesin pihak ketiga seperti Unity dan Unreal.

Posting ini akan sering diperbarui saat elemen baru ditambahkan ke Android Game SDK, jadi tandai halaman ini dan periksa kembali. Untuk saat ini, kita akan melihat Perpustakaan Frame Pacing.

Cara kerja Frame Pacing Library

Perpustakaan ini dirancang untuk membantu game mempertahankan frame rate yang stabil dengan latensi input minimal. Ini dilakukan dengan menyinkronkan loop rendering game dengan subsistem tampilan OS dan perangkat keras. Subsistem tampilan bertujuan untuk mengurangi robekan yang kadang-kadang dapat terjadi ketika perangkat keras beralih dari satu frame ke tengah lainnya melalui pembaruan. Ini dilakukan dengan buffering frame sebelumnya, mendeteksi pengiriman terlambat, dan mengulangi tampilan frame-frame sebelumnya jika frame terlambat terdeteksi.

Namun, ini dapat memungkinkan ketidakcocokan dalam sinkronisasi yang menghasilkan waktu tampilan bingkai yang tidak konsisten. Misalnya, jika sebuah frame dirender lebih cepat, ini mungkin mempersingkat waktu yang dihabiskan frame sebelumnya di layar. Jika bingkai membutuhkan waktu terlalu lama untuk dirender, maka bingkai tersebut dapat disajikan untuk bingkai tambahan.

Frame Pacing Library mengatasi masalah ini menggunakan API koreografer Android untuk menyinkronkan game dengan subsistem tampilan. Ini mencapai ini dengan menggunakan ekstensi cap waktu presentasi pada OpenGL dan Vulkan APIs, yang memastikan bahwa frame disajikan pada waktu yang tepat. Itu juga menggunakan pagar sinkronisasi untuk mencegah isian buffer. Berbagai tingkat penyegaran juga didukung, memungkinkan pengembang untuk menargetkan berbagai jenis perangkat – termasuk tampilan 90Hz dan 120Hz – dan opsi penyesuaian. Waktu presentasi bingkai secara otomatis disesuaikan dengan akun untuk perangkat keras perangkat.

Cara menggunakan Perpustakaan Pacing Bingkai Game Android SDK

Jika game Anda menggunakan Vulkan di OpenGL, maka Anda akan dapat memanfaatkan perpustakaan ini. Untuk melakukannya, pertama Anda harus mengunduh Android Game SDK di sini .

Untuk melihat bagaimana ini bekerja, Anda juga dapat mengunduh sampel Bouncy Ball di sini untuk menguji dengan OpenGL. Anda dapat menemukan petunjuk untuk Vulkan di sini. Buka proyek, lalu jalankan aplikasi untuk memastikannya berhasil.

Selanjutnya, tautkan proyek ke perpustakaan. Untuk pustaka statis, lakukan ini dengan menambahkan gamesdk / include ke compiler include paths, dan swappy / swappyGL.h untuk integrasi dengan OpenGL ES. Dalam kebanyakan kasus, file header akan berisi semua fungsi yang diperlukan.

Terakhir, tambahkan jalur berikut ke jalur pustaka linker Anda:

gamesdk/libs/architecture_APIapiLevel_NDKndkVersion_stlVersion_Release

Tentu saja, Anda akan menukar teks tebal dengan versi prosesor / NDK yang relevan, dll.

Inisialisasi instance Android Frame Pacing menggunakan:

void SwappyGL_init(JNIEnv *env, jobject jactivity);

Dan hancurkan kata contoh dengan:

void SwappyGL_destroy();

Sekarang fungsi-fungsi berikut akan memungkinkan Anda untuk mengonfigurasi interval swap dan periode penyegaran Anda:

void SwappyGL_setSwapIntervalNS(uint64_t swap_ns);

void SwappyGL_setFenceTimeoutNS(uint64_t fence_timeout_ns);

void SwappyGL_setUseAffinity(bool tf);

Panggil segera setelah Anda menginisialisasi SwappyGL_init () , yang harus sedekat ketika mesin Anda diluncurkan mungkin. Masukkan durasi frame ke SwappyGL_setSwapIntervalNS () menggunakan SWAPPY_SWAP_60FPS, SWAPPY_SWAP_30FPS , atau konstanta SWAPPY_SWAP_20FPS (jika perlu).

Sekarang lakukan frame swap menggunakan bool SwappyGL_swap (tampilan EGLDisplay, permukaan EGLSurface) . Ini membungkus metode eglSwapBuffers () yang digunakan oleh Open GL ES, jadi Anda harus mengganti semua instance dengan versi baru.

Anda dapat memeriksa apakah Frame Pacing telah diaktifkan di sembarang titik menggunakan bool SwappyGL_isEnabled () .

Untuk instruksi lebih rinci tentang cara menggunakan Perpustakaan Frame Pacing, lihat halaman panduan pengembang Android resmi.

Menggunakan Android Game SDK di Unity

Frame Pacing Library juga termasuk dalam Unity versi 2019.2 dan di atasnya. Cukup pilih kotak centang Frame Pacing yang dioptimalkan di Pengaturan Android, dan Anda akan secara otomatis mengaktifkan frame rate yang lebih halus untuk game Anda.

Sekali lagi, Unity membuat hidup jauh lebih mudah bagi para pengembang game!

Melihat ke depan

Secara pribadi, saya merasa sudah saatnya Google memberi penggemar permainan cinta, jadi saya melihat ini sebagai hal yang sangat positif. Frame Pacing Library itu sendiri kemungkinan juga akan menjadi tambahan yang disambut baik, terutama untuk game yang lebih berat yang ingin menawarkan framerates halus seperti sutra. Ini adalah awal yang kecil, jadi saya harus mencoba beberapa perpustakaan yang lebih bermanfaat dan segera memulai debut mereka dengan Android Game SDK.

__Terbit pada
Januari 27, 2020
__Kategori
Info

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *