[resolvido]Consumo de memória das sprites

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

Resolvido [resolvido]Consumo de memória das sprites

Mensagem por gabrielost em Dom 01 Ago 2010, 04:50

Olá amigos, gostaria de esclarecer algumas dúvidas...

1 - O espaço ocupado na memória pelas sprites quando o jogo está sendo executado é sempre relativo ao peso dessa imagem no formato BMP (Não necessariamente BMP, mas um valor elevado em comparação a um formato mais leve como JPG ou PNG)? Por exemplo... Eu adiciono uma sprite na pasta Sprites com uma resolução muito grande. Esta imagem pesa 4mb no HD no formato BMP. Quando executo o jogo o consumo de memória para essa sprite será de aproximadamente 4mb?

2 - Notei que mesmo as sprites que não estão sendo usadas por algum objeto continuam consumindo o mesmo espaço de memória. É possível diminuir isso sem remover a sprite?

3 - Há maneiras de reduzir o consumo de memória por parte de uma sprite? Extensões/dlls talvez...

4 - Se eu uso um objeto que durante a execução do jogo ele carrega como sua sprite alguma imagem escolhida por mim do HD, ou seja, uma sprite que não está na pasta sprite, o consumo na memória dessa sprite carregada será sempre há de uma imagem no formato BMP(não necessariamente BMP, mas com um valor elevado em comparação com formatos como o JPG), mesmo que a imagem esteja em outros formatos como JPG, PNG?

5 - Reparei que quando você copia uma mesma sprite várias vezes numa room, ou seja, cria várias instâncias dela, o consumo de memória é quase que o mesmo para com uma só instância. Isso se deve por que a imagem usada pelas instâncias é a mesma? Se eu alterasse a cor de uma instância, ou seja, criando diferenças entre instâncias de uma mesma sprite, o consumo seria equivalente a de duas sprites distintas?

6 - Há maneiras no geral de reduzir o consumo de memória por parte das sprites?

Desde já agradeço. =)

gabrielost

Número de Mensagens : 4
Data de inscrição : 24/07/2010
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Resolvido Re: [resolvido]Consumo de memória das sprites

Mensagem por itallo em Dom 01 Ago 2010, 06:56

tem umas soluções simples para esse problema com sprites.
1- se a sprite for muito grande, você pode dividir ela em varias partes.
isso melhora significativamente o desempenho do jogo.

2- você pode deixar as sprites em uma pasta fora do jogo, então ele não carregará "todas" as sprites de uma vez.
isso muda tudo.

itallo

Ranking : Sem avaliações
Número de Mensagens : 969
Idade : 24
Data de inscrição : 26/08/2009
Reputação : 12
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   :
   :

http://www.zuluhotel.com.br

Voltar ao Topo Ir em baixo

Resolvido Re: [resolvido]Consumo de memória das sprites

Mensagem por Denis Lemos em Dom 01 Ago 2010, 13:49

Depende de qual GM você está usando, se ainda é o 7, o formato da imagem influencia e muito na execução do jogo, então deixe-as em GIF ou JPEG que são os formatos mais leves, no GM8 ele muda o formato automaticamente para PNG, então não fará muita diferença o formato !
Eu não sei se no GM 7 é assim, mas no 8 não necessariamente se o peso dela no HD for um na execução do jogo será o mesmo, certamente será outro maior ainda, não sei porque isso ocorre !

Se você tem o GM 8 faça o teste, pegue um sprite com 640x480, veja o quanto ela ocupa de espaço no HD, agora abra ela no GM, entre no editor de sprite, e veja bem na parte de baixo da tela tem a informação da memória usada na execução do game, quase sempre é bem maior do que o peso dela no HD !

Então se você usar muitas sprites e backgrounds, o jogo vai gastar muita memória e dar LAG, mas tem meios de contornar isso, quando você adiciona uma sprite no GM, mesmo se os objetos que vão usar essa sprite não estarem na room, elas estão ali gastando memória sem nenhuma utilidade !
Então o que se pode fazer é, deixar essas sprites em uma pastinha do lado do arquivo do jogo, e quando chegar a hora de usá-las carregar via código e depois que não estiver mais usando deletá-las novamente para desocupar espaço na mamória, assim elas só gastarão memória na hora em que realmente precisar delas !

Pesquise sobre abrir arquivos externos que aparecerá vários tópicos falando a respeito !!!

Agora sobre vários objetos que usam a mesma sprite, creio que sejam só cópias da mesma sprite, seria o mesmo que os tiles, quando você adiciona uma background, você pode copiar seus tiles quantas vezes quiser e a memória será a mesma !

Denis Lemos

Número de Mensagens : 938
Idade : 28
Data de inscrição : 17/05/2009
Reputação : 1
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

Voltar ao Topo Ir em baixo

Resolvido Re: [resolvido]Consumo de memória das sprites

Mensagem por gabrielost em Dom 01 Ago 2010, 21:29

Muito obrigado mesmo galera... =)

O tópico já pode ser fechado. (Há possibilidades de eu fechar um tópico que criei?)

gabrielost

Número de Mensagens : 4
Data de inscrição : 24/07/2010
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Resolvido Re: [resolvido]Consumo de memória das sprites

Mensagem por fonetico em Dom 01 Ago 2010, 22:13

gabrielost escreveu:Muito obrigado mesmo galera... =)

O tópico já pode ser fechado. (Há possibilidades de eu fechar um tópico que criei?)

Não, isso só quem pode fazer são os moderadores ou administradores. No entanto, avisar que o tópico pode ser fechado sempre ajuda.

Resolvido!
Tópico trancado!

fonetico

Número de Mensagens : 1830
Idade : 21
Data de inscrição : 05/10/2009
Reputação : 7
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

Voltar ao Topo Ir em baixo

Resolvido Re: [resolvido]Consumo de memória das sprites

Mensagem por Conteúdo patrocinado Hoje à(s) 22:54


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