Sepertinya Anda memiliki setidaknya dua utas eksekusi, dengan rendering Anda pada utasnya sendiri. Jika itu masalahnya, maka Anda sebenarnya memiliki dua frame rate yang perlu dikhawatirkan. Anda ingin keduanya secepat mungkin. Namun, itu juga tergantung pada jenis gim yang Anda bangun.
Apakah Anda membangun penembak orang pertama, di mana penurunan kecil dalam frame rate bisa memberi keuntungan pada lawan? Jika demikian, maka Anda ingin memastikan fps rata-rata Anda cukup tinggi, tetapi juga khawatir tentang kerangka waktu terburuk Anda. Apakah Anda membangun permainan papan? Jika demikian, lonjakan waktu bingkai sesekali tidak akan membunuh pengalaman pengguna.
Dalam gim saya sendiri, proses saya biasanya kira-kira seperti ini:
- Jalankan profiler pada kode
- Lihatlah frame rate rata-rata. Jika rata-rata terlalu rendah, naikkan rata-rata fps dengan mengoptimalkan barang yang lambat.
- Setelah fps rata-rata cukup tinggi, cari waktu bingkai terburuk (frame di mana Anda melihat lonjakan besar dalam waktu komputasi atau rendering). Cobalah untuk mengoptimalkan skenario terburuk untuk meningkatkan kerangka waktu terburuk.
Jika Anda pada 30 fps sebagian besar waktu, tetapi Anda lonjakan hingga 200 ms setiap 10 detik, itu akan menyebabkan masalah. Tetapi jika Anda rata-rata 15 fps, naikkan fps rata-rata Anda terlebih dahulu.
Jadi, jawaban singkatnya mungkin: mengoptimalkan apa pun yang membuat peningkatan terbesar pada pengalaman pengguna terlebih dahulu.