Deletando coisas da memoria...

Ver o tópico anterior Ver o tópico seguinte Ir em baixo

Deletando coisas da memoria...

Mensagem por Anderson3d em Qua 16 Dez 2009, 18:12

Pessoal seguinte, antes de iniciar uma fase eu criei rons de loading, com um objeto que recebe todas os sprites e sons e as joga em variaveis globais.

Quando o personagem morre na fase ela é iniciada de volta a tela loading.

No create do obj que recebe e apaga as variáveis existe esse código que apaga os sons e os sprites da memoria:

Código:
for (i = 0; i <= 150; i += 1)
begin
    if sound_exists(i) then sound_delete(i);
    if sprite_exists(i) then sprite_delete(i);
end;

e abaixo disso os códigos que fazem as variaveis globais receberem os sons e sprites externos, ou seja, toda vez que entra na tela loading, ela apaga tudo da memoria e reinicia as variaveis globais...

Finalmente depois de explicado o sitema posso fazer a minha pergunta hehehe: Very Happy
Quando uma variável global recebe um sprite externo ela reserva um espaço na memoria para esse sprite. E se eu faço novamente o comando, ela vai guardar mais espaço na memoria, ou ela sabe que ja recebeu esse sprite e não gasta mais memoria? Pois se ela não gastar mais memoria eu posso apagar o codigo acima que deleta os sons e sprites, pois isso consome alguns segundos chatos... :cry:

Anderson3d

Ranking : Nota A
Número de Mensagens : 1479
Idade : 33
Data de inscrição : 15/02/2009
Notas recebidas : A - A
Reputação : 9
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   : 0
   : 1

http://www.indiegamebr.com

Voltar ao Topo Ir em baixo

Re: Deletando coisas da memoria...

Mensagem por Janx em Qua 16 Dez 2009, 21:32

não, você iria tem um "memory leak", você iria perder o index do som/fundo/etc carregado e ele continuaria na memoria. E alem disso iria carregar mais coisa na memoria.

E cara, para liberar a memoria é bem mais rápido que para carregar Happy
Para liberar uns 10mb aqui no meu jogo num da nem 1/4 de segundo, talvez até menos!

Flww

Movido.

Janx

Número de Mensagens : 2417
Idade : 23
Data de inscrição : 24/05/2008
Reputação : 14
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 2
   : 0

Voltar ao Topo Ir em baixo

Re: Deletando coisas da memoria...

Mensagem por Anderson3d em Qua 16 Dez 2009, 22:37

sempre confundo gml com desenvolvimento... mas saquei o que o mestre janx falou. vlw mermão!!!

Anderson3d

Ranking : Nota A
Número de Mensagens : 1479
Idade : 33
Data de inscrição : 15/02/2009
Notas recebidas : A - A
Reputação : 9
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   : 0
   : 1

http://www.indiegamebr.com

Voltar ao Topo Ir em baixo

Re: Deletando coisas da memoria...

Mensagem por Convidad em Sab 19 Dez 2009, 00:15

O janx tá certo. Além disso, você pode fazer o seguinte: colocar uns resources "em branco", ou seja, só criar o sprite ou som e não carregar nenhum arquivo e então usar a função sprite_replace() ou sound_replace().

Essas funções vão fazer justamente isso, trocar um recurso por outro, porém, mantendo o index do original.

Convidad
Convidado


Voltar ao Topo Ir em baixo

Re: Deletando coisas da memoria...

Mensagem por Conteúdo patrocinado Hoje à(s) 12:34


Conteúdo patrocinado


Voltar ao Topo Ir em baixo

Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo

- Tópicos similares

 
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum