
Mir 2: Return of the King adalah game seluler IP Legend berkualitas tinggi yang diotorisasi oleh Actoz Soft dan dikembangkan oleh HK ZHILI YAOAN LIMITED menggunakan Unity Engine.
Game ini tidak hanya menciptakan kembali perasaan "Mir 2", representasi MMORPG fantasi Korea, dengan sempurna, tetapi juga menawarkan banyak konten game yang paling populer, seperti koleksi peralatan, serangan pasir skala besar, dan gameplay inti lainnya.
Game ini menggunakan Android Frame Pacing API (Swappy) untuk meningkatkan stabilitas kecepatan frame, mendapatkan rendering yang lancar, dan meningkatkan Android Vitals (metrik Sesi Lambat) secara signifikan.
Sesi Lambat diluncurkan di Android Vitals
Sesi Lambat adalah metrik Android vitals di konsol Google Play. Sesi lambat memiliki lebih dari 25% frame lambat. Frame berjalan lambat jika:
1) Pada 20 fps, frame tidak ditampilkan dalam waktu 50 md setelah frame sebelumnya. 2) Pada 30 fps, frame tidak ditampilkan dalam waktu 34 md setelah frame sebelumnya.
Pada waktunya, Play akan mulai mengalihkan pengguna dari game yang tidak dapat mencapai 20 FPS di ponsel mereka.
Ada banyak alasan frame mungkin ditampilkan atau dirender lebih lama di layar daripada target developer. Game mungkin terikat CPU atau GPU, mengalami panas berlebih yang mengaktifkan status termal yang di-throttle, atau ada ketidakcocokan dalam kecepatan frame game dan kecepatan refresh layar perangkat.
Apa itu Swappy
Library Android Frame Pacing, yang juga dikenal sebagai Swappy, adalah bagian dari library AGDK. Swappy membantu game OpenGL dan Vulkan menghasilkan rendering yang lancar dan memperbaiki kecepatan frame di Android.
Library menangani beberapa rasio refresh jika didukung oleh perangkat, sehingga game memiliki fleksibilitas yang lebih besar dalam menampilkan frame. Misalnya, untuk perangkat yang mendukung rasio refresh 60 Hz serta 90 Hz, game yang tidak dapat menghasilkan 60 frame per detik dapat turun ke 45 FPS, bukan 30 FPS, agar tetap lancar. Library ini mendeteksi kecepatan frame game yang diharapkan dan menyesuaikan waktu presentasi frame secara otomatis sebagaimana mestinya.
Library Frame Pacing juga meningkatkan masa pakai baterai karena menghindari update layar yang tidak perlu. Misalnya, jika game dirender pada 60 FPS, tetapi layar diperbarui pada 120 Hz, layar akan diperbarui dua kali untuk setiap frame. Library Frame Pacing menghindari hal ini dengan menetapkan kecepatan refresh ke nilai yang didukung oleh perangkat yang paling dekat dengan kecepatan frame target.
Cara Mir 2 meningkatkan performa Rendering dengan Swappy
Mir 2 (미르2: 왕의 귀환) mengalami masalah dengan performa rendering yang tidak stabil, dengan 40% Sesi Lambat pada nilai minimum framerate 20 FPS, jauh lebih tinggi dari nilai minimum 20% Google Play.

Mir 2 (미르2: 왕의 귀환) adalah game grafis fidelitas tinggi, beberapa perangkat menghadapi tantangan untuk mempertahankan FPS yang stabil. Distribusi kecepatan frame mereka menunjukkan banyak sesi yang berjalan pada FPS di bawah 20 fps.

Setiap bucket mewakili persentase sesi dengan 75% frame-nya lebih cepat daripada label bucket.
Jika beban kerja tampilan memerlukan waktu lebih lama dari beban kerja aplikasi, frame tambahan akan ditambahkan ke antrean. Hal ini akan menyebabkan, sekali lagi, tersendat dan juga dapat menyebabkan frame latensi tambahan karena terjadi buffer-stuffing.

Library Swappy mengatasi hal ini dengan menggunakan fence sinkronisasi
(EGL_KHR_fence_sync
dan VkFence
) untuk
memasukkan waktu tunggu ke dalam aplikasi yang memungkinkan pipeline tampilan menyamai
kecepatan, bukan membiarkan back pressure terjadi. Frame A masih menampilkan frame tambahan, tetapi frame B kini menampilkan dengan benar.

Mir 2 dengan mudah mengintegrasikan library Swappy dengan memanfaatkan fitur Optimized Frame Pacing bawaan Unity. Tindakan ini menghasilkan peningkatan yang signifikan untuk performa rendering, khususnya penurunan metrik Sesi Lambat dari 40% menjadi 10%.

Jumlah sesi lambat telah berkurang secara signifikan untuk Mir2 setelah mereka mengintegrasikan Swappy.

Setiap bucket mewakili persentase sesi dengan 75% frame-nya lebih cepat daripada label bucket.
Mulai Menggunakan Swappy
Cara menggunakan Swappy di game engine native
Lihat panduan berikut untuk mengintegrasikan library Android Frame Pacing ke dalam game:
- Mengintegrasikan Android Frame Pacing ke dalam perender Vulkan
- Mengintegrasikan Android Frame Pacing ke dalam perender OpenGL
Cara menggunakan Swappy di game engine Unity
Unity telah mengintegrasikan Android Frame Pacing ke dalam mesinnya. Untuk mengaktifkan fitur ini di Unity, centang kotak Optimized Frame Pacing di bagian Project Settings > Player > Settings for Android > Resolution and Presentation:

Atau, aktifkan secara terprogram opsi Optimized Frame Pacing dalam kode logika Anda untuk memungkinkan Unity mendistribusikan frame secara merata agar variasi kecepatan frame lebih sedikit, sehingga menghasilkan gameplay yang lebih lancar.
Cara menggunakan Swappy di game engine Unreal
Unreal 4.25 dan yang lebih tinggi mengintegrasikan Library Kecepatan Frame Android, yang merupakan bagian dari Android Game Development Kit. Artikel Kecepatan Frame Seluler menjelaskan cara mengaktifkan Library Kecepatan Frame Android dan cara mengontrol kecepatan frame dari kode C++.
Untuk bacaan lebih lanjut, Anda dapat mempelajari Sesi Lambat dan Swappy.