Precisamos nos preocupar com ordens de bytes no processo de programação de um jogo? Os consoles de jogos usam ordens de bytes diferentes?
software-engineering
saadtaame
fonte
fonte
Respostas:
Se você está escrevendo um código de rede, isso geralmente é algo com o qual você precisa lidar, sim.
Também é possível que a ordem de bytes em um formato de arquivo não seja o que sua plataforma usa, portanto, às vezes, isso também é importante.
fonte
Você precisa se preocupar com isso? Provavelmente não. A grande maioria da programação de jogos estará em tal nível que o endianness será abstraído. Mesmo em redes, você quase certamente usará uma biblioteca para protocolos de rede. É bom que você esteja ciente disso, mas duvido que você tenha um problema com isso.
fonte
Na maior parte do tempo, não.
Endianess geralmente é abstraída nos módulos de alto nível de um mecanismo de jogo, e você não precisa se preocupar com isso diariamente. Se não for abstraído, o mecanismo tem um problema sério e deve ser corrigido, porque esse não é o tipo de detalhes com o qual você deve se preocupar ao criar um jogo.
No entanto, se você estiver trabalhando em algumas partes de baixo nível de um mecanismo multiplataforma C / C ++, poderá ter que lidar com isso. Todos os três consoles de geração atual usam uma arquitetura PowerPC, que é big-endian, enquanto a arquitetura x86 usada no PC é little-endian. Portanto, se você estiver trabalhando em algum código que lê bytes brutos de algum lugar para colocá-los em estruturas de dados (serialização binária, rede ...), sim, você terá que lidar com isso.
Por exemplo, em C / C ++, é comum ver esse tipo de troca de bytes em ação (não testado, recebendo correções):
Mais uma vez, isso é bom no código de baixo nível, mas isso não deve ser algo usado em todos os lugares.
fonte
Depende das plataformas que você está segmentando. Por exemplo, acredito que o PS3 é de grande porte, por isso, se esse é um dos seus objetivos, é algo que você precisa conhecer, sim.
No espaço dos computadores domésticos, os "Big 3" (Windows, Linux, Mac) são exclusivos ou praticamente excepcionais nas arquiteturas Intel x86 / x64 hoje em dia, de modo que as preocupações com a durabilidade não são mais relevantes.
fonte