This translation is community contributed and may not be up to date. We only maintain the English version of the documentation. Read this manual in English
O uso de compressão de texturas não apenas reduz o tamanho dos recursos dentro do arquivo do jogo, mas texturas comprimidas também podem reduzir a quantidade de memória de GPU necessária.
A maioria dos jogos tem pelo menos algum conteúdo usado com pouca frequência. Do ponto de vista de uso de memória, não faz sentido manter esse conteúdo carregado na memória o tempo todo; é melhor carregá-lo e descarregá-lo quando necessário. Isso obviamente envolve uma troca entre ter algo prontamente acessível ao custo de memória em tempo de execução e carregar algo ao custo de tempo de carregamento.
O Defold tem várias formas diferentes de carregar conteúdo dinamicamente:
O Defold aloca memória para componentes e recursos uma vez quando uma coleção é criada, para reduzir a fragmentação de memória. A quantidade de memória alocada depende da configuração de vários contadores de componentes em game.project. Use o perfilador para obter uso preciso de componentes e recursos e configurar seu jogo para usar valores máximos mais próximos da contagem real de componentes e recursos. Isso reduzirá a quantidade de memória usada pelo seu jogo (consulte as informações sobre otimizações de contagem máxima de componentes).
Otimize as contagens de nodes de GUI definindo o número máximo de nodes no arquivo GUI apenas para o necessário. O campo Current Nodes das propriedades do componente GUI mostrará o número de nodes usados pelo componente GUI.
O tamanho da heap de um jogo Defold HTML5 pode ser configurado pelo campo heap_size em game.project. Certifique-se de otimizar o uso de memória do seu jogo e definir um tamanho mínimo de heap.
Para jogos pequenos, 32 MB é um tamanho de heap viável. Para jogos maiores, mire em 64-128 MB. Se, por exemplo, você estiver em 58 MB e não for viável otimizar mais, pode ficar com 64 MB sem pensar demais. Não há um tamanho-alvo rígido; isso depende do jogo. Apenas mire em tamanhos menores, de preferência em passos de potências de dois.
Para verificar o uso atual da heap, você pode iniciar seu jogo, jogar o nível ou seção mais pesado em recursos e monitorar o uso de memória:
if html5 then
local mem = tonumber(html5.run("HEAP8.length") / 1024 / 1024)
print(mem)
end
Você também pode abrir as ferramentas de desenvolvedor do seu navegador e escrever o seguinte no console:
HEAP8.length / 1024 / 1024
Se o uso de memória permanecer em 32 MB, ótimo! Caso contrário, siga os passos para otimizar o tamanho da própria engine e de assets grandes, como sons e texturas.