Apakah kita harus khawatir tentang pesanan byte dalam proses pemrograman game? Apakah konsol game menggunakan perintah byte yang berbeda?
software-engineering
saadtaame
sumber
sumber
Jawaban:
Jika Anda menulis kode jaringan, ini sering kali adalah sesuatu yang harus Anda tangani, ya.
Juga mungkin bahwa pemesanan byte dalam format file bukan apa yang digunakan platform Anda, jadi kadang-kadang itu penting juga di sana.
sumber
Apakah Anda harus mengkhawatirkannya? Mungkin tidak. Sebagian besar pemrograman game akan berada pada tingkat tertentu sehingga endianness disarikan. Bahkan di jaringan, Anda hampir pasti akan menggunakan perpustakaan untuk protokol jaringan. Bagus bahwa Anda menyadarinya, tetapi saya ragu Anda akan mengalami masalah dengannya.
sumber
Sebagian besar waktu, tidak.
Endianess biasanya diabstraksi dalam modul tingkat tinggi dari mesin permainan, dan Anda tidak perlu khawatir tentang hal itu setiap hari. Jika tidak diabstraksikan, maka mesin memiliki masalah serius dan harus diperbaiki, karena ini bukan jenis detail yang harus Anda khawatirkan saat membuat game.
Namun jika Anda bekerja pada beberapa bagian tingkat rendah dari mesin multi-platform C / C ++, Anda mungkin harus menghadapinya. Ketiga konsol generasi saat ini menggunakan arsitektur PowerPC, yang merupakan big-endian, sedangkan arsitektur x86 yang digunakan pada PC adalah little-endian. Jadi jika Anda bekerja pada beberapa kode yang membaca byte mentah dari suatu tempat untuk menempatkannya dalam struktur data (serialisasi biner, jaringan ...), ya Anda harus menghadapinya.
Sebagai contoh, di C / C ++, itu biasa untuk melihat byte ini bertukar dalam aksi (tidak diuji, menyambut koreksi):
Sekali lagi, ini tidak apa-apa dalam kode tingkat rendah, tetapi ini seharusnya tidak menjadi sesuatu yang digunakan di mana-mana.
sumber
Itu tergantung pada platform yang Anda targetkan. Sebagai contoh, saya percaya bahwa PS3 adalah big-endien jadi jika itu salah satu target Anda maka itu adalah sesuatu yang perlu Anda waspadai, ya.
Di ruang komputer di rumah "Big 3" (Windows, Linux, Mac) semuanya eksklusif, atau semuanya kecuali arsitektur Intel x86 / x64 akhir-akhir ini, sehingga kekhawatiran tentang daya tahan tidak lagi relevan.
sumber