cara memperbaiki lag pokemon uranium


Jawaban 1:

Saat mesin game diikat ke FPS, itu berarti 'game tick' dihitung dalam proses yang sama seperti menggambar bingkai.

Jika tidak, logika permainan akan berjalan dengan kecepatan tetap yang sepenuhnya tidak tergantung dari seberapa cepat komputer Anda dapat menggambar bingkai.

Mengikat logika game ke frekuensi gambar dapat menyebabkan sejumlah masalah tergantung pada game tersebut. FPS tinggi dapat menyebabkan kesalahan pembulatan yang bertambah dengan cepat, atau apa pun yang seharusnya menunggu dalam waktu tertentu tiba-tiba menjadi tidak tepat dengan cara yang tidak dapat diprediksi.

Mari berikan contoh (sedikit di luar sana) untuk mengilustrasikan poin tersebut.

Katakanlah Anda sedang membuat kode mesin game, dan Anda ingin memasukkan fisika ke dalamnya. Seluruh mesin game Anda adalah single-threaded (hanya melakukan satu hal pada satu waktu), dan Anda tidak akan mengubahnya.

Jadi Anda mengkodekan game ini untuk berjalan secara ideal pada 30FPS, tetapi Anda tahu akan ada beberapa variasi di dalamnya, jadi Anda memperhitungkannya dalam logika Anda. Masalah terpecahkan, bukan?

SALAH.

Kebanyakan mesin fisika sangat sensitif terhadap ukuran langkah (artinya gerakan yang terjadi di antara 'tik'). Faktanya, jika langkah waktu Anda cukup lama, ada kemungkinan besar hal-hal akan mulai saling memotong, macet seperti itu, atau bahkan terbang dengan kecepatan gila mencoba memperbaiki kesalahan itu.

Contoh ini rusak saat framerate Anda turun. Berikut contoh lain yang menjadi masalah jika framerate Anda meningkat:

Banyak mesin game menyimpan animasi dalam milidetik, tetapi beberapa mesin kuno yang bergantung pada frekuensi gambar masih menyimpan animasi dalam bingkai. Artinya, saat dijalankan pada 30FPS, tampilannya normal. Tetapi jika Anda memodifikasi mesin untuk melepas tutup framerate dan bermain pada 120FPS, kaki Anda akan bergerak 4x lebih cepat, tetapi kecepatan Anda yang sebenarnya kemungkinan besar akan tetap sama.


Jawaban 2:

Bayangkan Anda sedang menulis game di mana item seperti, katakanlah, landasan, harus jatuh 5 kaki per detik. Anda mungkin berpikir, "oh, ini mudah, saya akan menjalankan game dengan kecepatan 30 frame per detik dan mengatur landasan untuk menurunkan porsi X dari kaki per frame". Ini bagus sampai seorang gamer PC tidak terlalu menyukai game yang berjalan hanya dengan 30 frame per detik, jadi dia memodifikasi game tersebut untuk meningkatkan framerate menjadi 144 frame per detik. Landasan ini akan jatuh 5 kaki setiap 30 frame, yang biasanya satu detik. Sekarang ada 144 bingkai dalam satu detik, landasan jatuh 5 kaki setiap 5 detik. Pada saat satu detik berakhir dalam 144 fps, landasan akan jatuh mendekati 25 kaki per detik, sekitar 5 kali lebih cepat dari yang diinginkan pengembang. Atau, jika komputer seseorang buruk dan hanya dapat menjalankan game dengan 5 frame per detik, 30 frame akan memakan waktu 6 detik untuk berlalu, sehingga landasan akan jatuh kurang dari satu kaki setiap detik. Ini juga hanya satu objek dalam game. Bagaimana dengan AI yang melakukan sesuatu di setiap frame? AI yang menembakkan peluru setiap 5 frame pada 30 FPS akan menembakkan 6 peluru per detik. Sebuah AI yang melakukan itu pada 144 FPS akan menembakkan hampir 30 peluru setiap detik, yang mana lebih banyak setiap detik daripada 6. AI yang melakukannya pada 5 FPS akan menembakkan satu peluru per detik, membuat permainan secara drastis lebih mudah.

Setiap mesin gim yang layak akan memiliki protokol pembaruan langkah waktu tetap yang terpisah dari yang untuk menggambar grafik gim untuk menjalankan simulasi fisika pada kecepatan yang konsisten, atau akan menghitung langkah waktu sejak kerangka terakhir gim dan menggunakannya untuk memengaruhi kecepatan hal-hal yang terjadi dalam game agar semuanya tetap sinkron dengan kenyataan. Opsi timestep berarti bahwa mesin fisika akan menampilkan perilaku konsisten yang masuk akal dengan framerate yang cukup tinggi sekaligus dapat menyesuaikan dengan framerate apa pun yang diinginkan orang untuk menjalankan game. Bagian pembaruan timestep tetap dari game yang berjalan terpisah dari yang lain berarti mesin fisika untuk game tersebut dapat menghindari bug kasus tepi dan perilaku tak terduga yang dapat mengganggu metode timestep, tetapi mungkin memerlukan penggunaan multi-threading dan dapat berakhir. dengan masalah uniknya sendiri jika komputer yang digunakan tidak dapat menggunakan langkah waktu tertentu untuk mesin fisika.


Jawaban 3:

Artinya, jam game menggunakan jumlah bingkai untuk melacak kapan sesuatu terjadi dalam game. Ini tidak selalu menjadi masalah di konsol, di mana setiap orang memiliki perangkat keras yang sama, jika dioptimalkan dengan baik. Pada PC, bagaimanapun, itu berarti bahwa playerbase Anda terbatas pada baseline kinerja tertentu atau permainan akan berjalan terlalu cepat. Framerate drop apa pun akan memperlambat game sebenarnya, bukan hanya membuatnya tersentak hingga drop diselesaikan. Ini juga berarti bahwa versi konsol mungkin dikunci ke framerate yang lebih rendah daripada yang biasanya dapat dikeluarkan konsol untuk menghindari masalah ini di beberapa segmen.

Singkatnya, ini adalah ide yang buruk karena membuat gameplay menjadi lebih sensitif terhadap kinerja komputer / konsol / ponsel daripada yang seharusnya.


Jawaban 4:

Saat mesin terikat ke fps, seperti 60fps misalnya, pengaturan waktu terikat ke satu bingkai. Misalnya, jika Anda memainkan game yang terikat pada 60fps, dan Anda tertinggal pada 30fps, game akan berjalan dengan kecepatan setengah. Atau, jika Anda membuka blokir batas itu dan berjalan pada 120fps, semuanya akan menjadi 2x lebih cepat.