Dalam banyak game balap ( Burnout Paradise , misalnya) ketika sebuah tabrakan akan terjadi, permainan game secara otomatis beralih ke gerakan lambat dan melanjutkan dalam urutan lambat sampai setelah tabrakan selesai.
Saya selalu berpikir ini untuk efeknya. Anda tidak ingin ketinggalan bagian dari tabrakan! Tetapi salah satu teman saya baru-baru ini menyarankan bahwa ini dilakukan untuk memastikan tidak ada tingkat pemrosesan yang berlebihan ketika tabrakan terjadi.
Sekarang saya pikir itu sebenarnya sebaliknya. Ketika tabrakan terjadi, begitu banyak detail ditampilkan dalam gerakan lambat, saya yakin ada overhead pada komputasi dan rendering pipeline.
Apa yang benar
Apakah adegan gerak lambat meningkatkan penggunaan CPU / GPU, atau menguranginya?
Mungkin saja ini yang terjadi. Kecuali Anda melakukan fisika untuk tabrakan pada GPU, itu berarti jongkok untuk itu. Tetapi dalam hal fisika itu sendiri ... itu mungkin.
Jika Anda mensimulasikan pergerakan sejumlah tubuh, mereka cenderung bergerak dengan cara yang sangat mudah ditebak. Medan gaya dan gaya (yaitu: gravitasi) mudah diprediksi. Tempat perpindahan barang dihitung dengan cepat.
Sampai satu hal menyentuh yang lain. Lihat, dalam fisika, Anda memiliki apa yang disebut kutu waktu; ini adalah jumlah waktu yang dieksekusi oleh sistem fisika. Jika kutu waktu Anda mencakup 1/30 detik (30fps untuk pembaruan fisika), maka setiap pembaruan fisika memindahkan objek 33,3 milidetik ke masa depan.
Ketika objek tidak bertabrakan, Anda bisa memindahkannya dari awal 33,3ms ke akhir. Fisika untuk melakukan itu sederhana dan telah terkenal selama berabad-abad. Anda cukup menentukan akselerasi dari gaya total, menerapkan akselerasi untuk kutu waktu ke objek, dan memindahkannya pada kecepatan baru (catatan: ini bisa lebih kompleks jika Anda menginginkan akurasi yang lebih besar).
Masalahnya adalah ketika benda bertabrakan. Tiba-tiba, sekarang Anda harus memproses kekuatan fisika dalam kutu waktu, bukan hanya sekali di awal. Jika sebuah objek bertabrakan dua atau tiga kali dalam bingkai fisika, maka itu lebih banyak perhitungan fisika yang harus Anda ulangi.
Jika Anda memiliki banyak tabrakan dalam satu kali kutu, Anda dapat benar-benar membunuh framerate Anda. Namun, peluang beberapa tabrakan dalam kisi waktu berkurang karena ukuran kutu waktu berkurang. Sim balap canggih seperti Forza dan Gran Turismo menjalankan sistem fisika mereka pada framerate yang luar biasa. Saya pikir salah satu dari mereka mendapat hingga 300 + fps pada pembaruan fisika mereka.
Gerakan lambat adalah padanan efektif dari itu. Dengan mengurangi jangka waktu fisika tanpa juga meningkatkan rendering framerate untuk mengompensasi, dunia tampak lebih lambat. Dan karena itu, Anda membuatnya jauh lebih kecil kemungkinannya untuk mendapatkan beberapa tabrakan dalam kutu waktu.
Yang sedang berkata, saya ragu bahwa ini sebabnya game seperti ini berjalan lambat. Secara umum, ini lebih untuk bakat visual dan presentasi dramatis. Sistem-sistem fisika itu umumnya dapat mengatasinya, berdasarkan kinerja.
sumber
Pertama-tama, ini dilakukan untuk efek visual, bukan karena alasan kinerja.
Cara standar berurusan dengan kinerja dalam permainan berat fisika adalah untuk skala jumlah objek, skala kompleksitas objek, dan mengutak-atik pengaturan mesin untuk skala antara presisi simulasi dan kinerja. Jika ada masalah, Anda akan membatalkan fitur yang menurut Anda paling tidak signifikan.
Namun ingat, industri ini telah membuat game mobil yang cukup realistis selama ~ 15 tahun terakhir, dengan komputer modern tidak seperti mereka harus kembali ke 3 roda untuk menjalankannya.
Masalahnya:
Memang benar bahwa tabrakan dapat menyebabkan kerja ekstra, seberapa banyak banyak hal bergantung pada spesifikasi permainan, mesin fisika yang lebih terperinci akan memiliki banyak tabrakan kecil antara bagian yang berbeda yang mungkin merupakan peningkatan signifikan dalam perhitungan yang diperlukan. . Tapi itu harus diperhitungkan ketika fisika ditingkatkan, itu tidak masalah untuk mendapatkan fisika yang baik yang masih bisa menangani beberapa tabrakan.
Jika Anda menjalankan simulasi fisika lebih lambat untuk mendapatkan gerakan lambat, beban akan turun secara proporsional. Namun, orang harus mencatat bahwa persyaratan untuk gerak lambat dan fisika waktu nyata berbeda, Anda dapat memiliki presisi yang lebih rendah ketika hal-hal terjadi pada kecepatan balap. Selama pemain tidak menyadari bahwa mesin fisika salah, itu bukan masalah besar, gerakan lambat membuat slip lebih mudah ditangkap, sehingga gerakan lambat memiliki persyaratan presisi yang lebih tinggi.
Seseorang dapat memilih untuk menggunakan fisika yang sama, diskalakan untuk memenuhi kedua set persyaratan. Solusi ini akan membutuhkan beberapa kekuatan pemrosesan tambahan, tetapi mudah diimplementasikan dan diberikan komputer modern yang layak.
Mengalihkan pengaturan fisika lebih rumit, tetapi berpotensi menghasilkan beberapa tabrakan yang indah, tidak hanya dapat meningkatkan ketepatan, juga dimungkinkan untuk mengganti model fisika mobil untuk model terperinci yang lebih baik yang memecah dengan cara yang lebih realistis. Mode ini harus berakhir menggunakan kira-kira jumlah waktu CPU yang sama untuk fisika seperti mode normal, hanya karena keduanya diskalakan untuk dijalankan pada konfigurasi minspec yang sama.
Cara tengah adalah dengan menggunakan mesin fisika langkah variabel, yang secara umum akan meningkatkan presisi ketika Anda memperlambat simulasi, sehingga memecahkan setidaknya sebagian dari masalah. Ada alasan lain untuk tidak menggunakan fisika langkah variabel, tetapi langkah variabel masih cukup umum di industri.
sumber