Smartphone kelas menengah mungkin mampu menjalankan game berat selama beberapa menit pertama, lalu performanya perlahan turun setelah perangkat mulai panas.
Inilah tantangan yang membuat optimasi mobile berbeda dari PC atau console. Developer tidak cukup memastikan benchmark awal mencapai 60 FPS; game juga harus menjaga performa selama sesi panjang dengan baterai, temperatur, dan memory terbatas.
Cara Mengoptimalkan Game Mobile yang efektif perlu mempertimbangkan thermal throttling, adaptive quality, frame pacing, ukuran instalasi, hingga karakter perangkat yang berbeda agar pengalaman bermain tetap konsisten.
Jangan Mendesain Game berdasarkan Peak Performance
Perangkat mobile memiliki kondisi performa yang dinamis.
CPU dan GPU bisa berjalan cepat ketika perangkat masih dingin, tetapi kemampuan tersebut tidak selalu bisa dipertahankan terus-menerus.
Android menjelaskan bahwa kemampuan aplikasi dipengaruhi thermal state perangkat dan perangkat hanya dapat mempertahankan performa tinggi dalam waktu terbatas sebelum thermal throttling terjadi.
Thermal API tersedia agar game dapat membaca kondisi tersebut dan menyesuaikan workload sebelum performa turun terlalu jauh.
Karena itu, benchmark lima menit pertama tidak cukup.
Lakukan soak test selama 20–60 menit.
Jika game dimulai pada 60 FPS lalu jatuh menjadi 35 FPS setelah perangkat panas, target grafis awal kemungkinan terlalu agresif.
Lebih baik menjaga 45 FPS stabil daripada menghasilkan 60 FPS sebentar lalu mengalami throttling berat.
Buat Quality Tier untuk Hardware Berbeda
Satu kualitas grafis untuk semua perangkat adalah strategi yang kurang efisien.
Perangkat kelas menengah dengan RAM 6 GB dan GPU lebih baru tentu berbeda dengan smartphone lama yang hanya sedikit di atas minimum specification.
Buat beberapa quality tier.
Misalnya Low mengurangi shadow distance, particle, resolution scale, post-processing, dan LOD. Medium mempertahankan sebagian efek, sedangkan High ditujukan untuk perangkat yang memiliki thermal serta GPU headroom lebih besar.
Unreal Engine menyediakan Device Profiles dan scalability settings untuk mengatur kualitas berbeda berdasarkan perangkat. Mobile Content Scale Factor juga dapat digunakan untuk mengontrol resolusi rendering sesuai profil hardware.
Jangan hanya melihat model smartphone.
GPU family, RAM, resolusi display, OS, dan hasil benchmark runtime dapat menjadi sinyal tambahan.
Gunakan Adaptive Quality saat Kondisi Berubah
Quality preset saat startup belum tentu cukup.
Perangkat bisa memanas, baterai turun, atau aplikasi lain menambah tekanan terhadap resource.
Unity Adaptive Performance menyediakan API untuk menerima informasi mengenai thermal dan power state perangkat sehingga game dapat melakukan penyesuaian ketika berjalan.
Android Dynamic Performance Framework juga menyediakan Thermal API serta fitur lain untuk membantu game mengelola workload sesuai kondisi perangkat.
Contohnya, ketika thermal headroom mulai mengecil, sistem dapat menurunkan shadow quality atau resolution scale sebelum sistem operasi terpaksa menurunkan frekuensi CPU/GPU secara agresif.
Turunkan Kualitas secara Bertahap
Jangan langsung mengubah High menjadi Low.
Pemain akan melihat perubahannya.
Turunkan fitur yang paling tidak terlihat lebih dahulu: shadow distance sedikit berkurang, particle density turun 15%, resolution scale turun 5%, lalu efek tambahan dinonaktifkan jika kondisi masih memburuk.
Ketika temperatur kembali stabil, naikkan kualitas secara perlahan.
Adaptive scaling yang halus membuat pemain jarang menyadari sistem sedang bekerja.
Tentukan Target FPS yang Sustainable
Perangkat dengan layar 120 Hz tidak berarti semua game harus berjalan 120 FPS.
Target frame rate memiliki konsekuensi terhadap GPU workload, CPU workload, daya, dan temperatur.
Untuk game strategi atau RPG, 30 atau 45 FPS stabil mungkin lebih masuk akal. Game action dapat membidik 60 FPS jika hardware mampu mempertahankannya.
Android Frame Pacing mendukung beberapa refresh rate dan dapat memilih interval presentasi yang lebih sesuai.
Dokumentasinya memberikan contoh bahwa pada perangkat 60/90 Hz, game yang tidak mampu mempertahankan 60 FPS dapat menggunakan 45 FPS sebagai opsi yang tetap selaras dengan display.
Epic juga menyediakan frame pacing per-device sehingga frame rate dapat dibatasi untuk mengejar konsitensi rendering.
Jangan melihat FPS sebagai angka prestise.
Pilih target yang dapat bertahan dalam sesi panjang.
Kurangi Pixel Cost sebelum Mengorbankan Gameplay
Pada banyak game mobile, GPU bisa menjadi bottleneck karena resolusi layar modern sangat tinggi.
Menggambar scene 3D pada resolusi native belum tentu memberikan manfaat visual sebanding dengan biayanya.
Jika GPU-bound, coba resolution scaling.
Android Game Mode interventions dapat menggunakan backbuffer resize untuk mengurangi GPU load.
Dokumentasi Android menyebut pengujian tertentu menunjukkan pengurangan GPU load hingga sekitar 30% dan penggunaan daya sistem hingga sekitar 10%, walaupun hasil sangat bergantung pada perangkat dan kondisi.
Angka tersebut bukan jaminan untuk semua game, tetapi menunjukkan betapa pentingnya jumlah pixel.
Pertahankan UI tajam, lalu render dunia 3D pada resolusi lebih rendah jika dibutuhkan.
Ini sering menghasilkan keuntungan lebih besar daripada mengurangi gameplay simulation.
Optimalkan Asset Delivery dan Ukuran Instalasi
Performa bukan hanya tentang FPS.
Game mobile yang berukuran sangat besar bisa menghadapi download drop-off, waktu instalasi panjang, dan penggunaan storage berlebihan.
Pisahkan konten utama dan konten yang bisa diunduh kemudian.
Unity Addressables for Android mendukung Play Asset Delivery dan memungkinkan Addressable groups ditempatkan ke Android asset packs. Sistem tersebut juga dapat bekerja dengan Texture Compression Targeting.
Contohnya, tutorial dan area awal dipaketkan dalam instalasi utama.
High-resolution texture, voice pack tambahan, atau map yang belum dibuka dapat dikirim kemudian.
Tetapi hati-hati dengan download saat gameplay berlangsung.
Asset streaming yang buruk dapat menghasilkan hitching, terutama jika decompression dan loading terjadi pada main thread.
Lakukan pengujan loading pada storage kelas menengah, bukan hanya SSD workstation.
Atur Memori dengan Budget yang Jelas
RAM yang tersedia bagi game tidak sama dengan total RAM smartphone.
Sistem operasi, aplikasi background, driver, dan resource lain juga memakai memory.
Karena itu, buat memory budget per kategori: texture, mesh, audio, animation, UI, dan runtime object.
Android menyediakan Memory Advice API dan berbagai profiling tool untuk membantu game memantau penggunaan serta menghindari kondisi low-memory yang dapat menyebabkan aplikasi ditutup.
Unload aset yang tidak lagi digunakan.
Streaming world juga sebaiknya menjaga hanya area relevan di memory.
Audio perlu diperhatikan. File musik panjang biasanya lebih efisien di-stream, sementara sound effect pendek dapat diperlakukan berbeda.
Hindari pula duplikasi texture atau asset akibat konfigruasi import yang tidak konsisten.
Minimalkan Stutter akibat Loading dan Shader
Average FPS bisa terlihat bagus tetapi pemain tetap mengeluh game patah-patah.
Salah satu penyebabnya adalah pekerjaan besar yang muncul hanya sesekali.
Asset loading, shader compilation, garbage collection, dan object spawning dapat menghasilkan spike.
Gunakan object pooling pada elemen yang sering muncul.
Preload aset penting sebelum encounter dimulai. Hindari membuka resource berat tepat ketika boss masuk layar.
Epic menyediakan PSO caches sebagai salah satu teknik mobile untuk mempersiapkan GPU pipeline state lebih awal dan mengurangi masalah terkait pembuatan state runtime.
Hal yang sama berlaku pada shader variants: jangan membawa ribuan kombinasi yang sebenarnya tidak pernah digunakan.
Build lebih sederhana juga bisa mempercepat loading.
Manfaatkan Performance dan Battery Mode
Tidak semua pemain memiliki prioritas yang sama.
Sebagian ingin FPS tertinggi. Pemain lain mungkin lebih memilih baterai tahan lama.
Android Game Mode API memungkinkan game mengetahui mode yang dipilih pengguna, termasuk orientasi terhadap performance atau battery life pada perangkat yang mendukung fitur tersebut.
Gunakan informasi ini untuk mengubah target frame rate, resolution scale, shadow, dan efek.
Performance Mode bisa mempertahankan kualitas lebih tinggi selama thermal budget masih memungkinkan.
Battery Mode dapat menurunkan FPS, mengurangi refresh pekerjaan background, atau menekan GPU load.
Pilihan seperti ini memberi pengguna kontrol sambil membuat sistem adaptif terasa lebih transparan.
Bangun Device Matrix untuk Pengujian
Emulator tidak cukup untuk menguji game mobile.
Thermal throttling, GPU driver, memory pressure, dan frame pacing harus dilihat pada hardware nyata.
Buat device matrix setidaknya dengan kategori minimum, target kelas menengah, dan high-end.
Uji cold start dan kondisi setelah perangkat digunakan cukup lama.
Catat average FPS, p95 frame time, memory, temperatur, battery drain, crash, serta durasi loading.
Android Performance Tuner dapat membantu menganalisis performa berdasarkan quality setting, scene, load time, dan device model pada skala yang lebih luas.
Jangan hanya menguji smartphone milik tim development.
Data production sering memperlihatkan tipe device dan bottleneck yang tidak muncul saat pengujan internal.
Semakin beragam sampel perangkat, semakin baik keputusan optimisasi.
Cara Mengoptimalkan Game Mobile untuk kelas menengah bukan sekadar menurunkan kualitas grafis.
Developer perlu mengelola thermal, frame pacing, memory, asset delivery, dan quality scaling berdasarkan kondisi perangkat.
Tentukan target FPS yang sustainable, lakukan soak test, lalu gunakan telemetry hardware nyata. Mulailah dari perangkat minimum dan pertahankan pengalaman stabil sebelum mengejar fitur visual yang lebih mahal.