Primeiramente, bom dia, boa tarde, boa noite ou boa madrugada a todos que estão lendo minha dúvida. Terminei de assistir a mais essa maravilhosa aula da Alura, achei o conteúdo super interessante e didático. Contudo, ao longo da aula surgiu uma dúvida, ou melhor, duas.
Contexto: durante a aula o professor utilizou uma lista com uma matriz para armazenar todas as informações do cenário, como locais que possuem paredes e comidas. Até aí tudo bem, agora imagine que eu esteja desenvolvendo um jogo 2d e nele a câmera deve se movimentar. Além disso, ele possui uma grande matriz, como uma matriz de 100 linhas por 100 colunas ou até mesmo uma de 1000 linhas por 1000 colunas. Dessa forma seria plausível pensar que algumas, ou muitas, informações do cenário não estariam sendo vistas pelo jogador, ou seja, estariam além da câmera. Desse modo, o computador estaria processando todas as informações da matriz, porém, somente algumas seriam efetivamente utilizadas pelo jogador.
Pergunta 1: dado o contexto, como eu poderia reduzir o trabalho do processador? Criar uma função ou um novo script responsável por avaliar quais seriam as informações efetivamente vistas pelo jogador e mandar o processador computar apenas essas informações seria uma solução eficaz?
Pergunta 2: no mesmo contexto o computador ficaria com uma lista gigantesca na memória o que ocuparia grande espaço de armazenamento e deixaria o mesmo mais lento. Como seria possível reduzir a quantidade de armazenamento ocupado na memória ran de um computador? Utilizar uma lista pequena, a qual possui somente as informações efetivamente usadas pelo jogador, e ficar alterando essa lista a cada movimentação da câmera que o jogo realiza seria uma solução eficaz?
Agradeço desde já a atenção, obrigado.