Memoria RAM Vai de 600 pra 1,39GB na hora de execução do jogo!!??

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

Memoria RAM Vai de 600 pra 1,39GB na hora de execução do jogo!!??

Mensagem por kyubi em Qua 28 Jan 2009, 17:17

Seguinte como expliquei pra vcs estou desenvolvendo um software de jogo estilo beat em up em HD ( 1280 x 720 ) agora que estou quase terminando o bichinho é que fui parar para testa-lo por completo e me deparo com uma burrice sem limites....isso mesmo.....de 1.39GB de ram vai ai somando mais 1 a cada 4 segundos de jogo ate chegar aos meus 2GB e BOOM! trava....mas claro que trava ....po!.....foi a memoria toda embora!! ^_^

Não..... escutem essa:

E mais , ....depois de tirar TUDO das rooms , e quero dizer tudo mesmo com o fundo apenas branco....o joga cai pra 1.26GB( UAU QUE AVANÇO LOL )...e sem meu personagem vai aumentando mais 1 a cada 20 segundos.....por favor me expliquem os mais experientes aqui....pois esse é meu primeiro jogo....O QUE DIABOS ESTA ACONTECENDO....e como posso resolver isso.
Por favor peço que não me peçam a enviar a vcs o jogo pois tem um professor na minha faculdade que esta doido caçando o que pode na internet pra não deixar eu apresentar isso.....e se ele achar referências ao jogo , sprites ou etc estarei muito ferrado! sendo que o jogo esta muito bem programado com todas as instancias sendo destruidas e efeitos como zoom , particulas, sendo ligados apenas quando são chamados e desligados depois.
fiz a maioria de minhas animações no toom boom estudio e apliquei efeitos via photo shop( o ultimo que saiu ).

peço auxilio aqui pois eu terei que entregar esta obra prima neste semestre!
ainda não esta com todos os cenários mas já está com a engine toda feita.
e quando vejo que quero mais alguma coisa ....é so programar.
outra coisa importante é que quando fui roda-lo no vista num pc com 2GB de ram dual core e placa de video fx5200 bem velha ele acusou erro de texture surface e não rodou o jogo!! porque isso?

agradeço a todos e espero que algum dia experimentem meu projeto, pois esta sendo desenvolvido a mais de 8 meses até agora( quase todos os dias )

Aguardo um help Happy

kyubi

Número de Mensagens : 19
Data de inscrição : 06/09/2008
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: Memoria RAM Vai de 600 pra 1,39GB na hora de execução do jogo!!??

Mensagem por Gusba em Qua 28 Jan 2009, 18:33

cara, nao sei oq pode se, mas talvez pq vc fez muitas sprites a backgrounds com preload texture, tente fazer um load externo dos sprites grandes e backgrounds, apenas quando eles serao usados

Gusba

Número de Mensagens : 1156
Idade : 21
Data de inscrição : 03/08/2008
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   :
   :

http://www.ciganospictures.hd1.com.br

Voltar ao Topo Ir em baixo

Re: Memoria RAM Vai de 600 pra 1,39GB na hora de execução do jogo!!??

Mensagem por Janx em Qua 28 Jan 2009, 19:01

è pode ser isso q o gusba falou e...
Tente usar backgrounds/sprites mais leves, ou intao diminuir o tamanho dos backgrounds...

Flw!

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: Memoria RAM Vai de 600 pra 1,39GB na hora de execução do jogo!!??

Mensagem por kyubi em Qua 28 Jan 2009, 19:43

rapaziada muito obrigado pelas dicas mesmo!!
vou fazer umas perguntas básicas aqui pra vcs:

1 - pra dar um load nos sprites externo e no som não da problema?
vcs sabem como posso fazer isso?
teria como salvar os sprites em .bin e descompacta-los na hora de rodar o jogo dentro do mesmo folder do executavel do jogo(pra não ficar uma coisa meio que porca na hora de instalar o jogo na máquina de alguem)

2 - se eu tiver um draw comum a todos e também um step para definir o depth a todos os objetos do cenario como e onde posso colocar este código único á todos....crio um obj_controle_depth e coloco persistente na primeira room??? seria isso??mas ele iria identificar todos os objetos?

3 - detectei que meu personagem esta com muitos draws para controlar objetos de informação de cenario fixos como por exemplo hp, barra de ataque especial, score e ammo pras varias armas do jogo inclusive estou usando uma fonte estilizada que criei com o tutorial de vcs aqui ^_^(valeu mesmo pessoal ) e gostaria de saber ....será que esse draw excessivo no meu main character não está fazendo com que a ram aumente mais 1 a cada segundo??
e como posso diminuir esse load de " draw information on screen " ...seria também criar um controle e lança-lo na tela persistente?

foi mal o excesso de perguntas ....e não se preocupem que estou dando uma busca acirrada aqui nos forums internacionais também...mas agradeceria se vcs pudessem responder com sua experiência peesoal.

Obrigado pelo auxilio

kyubi

Número de Mensagens : 19
Data de inscrição : 06/09/2008
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: Memoria RAM Vai de 600 pra 1,39GB na hora de execução do jogo!!??

Mensagem por vinians em Qua 28 Jan 2009, 19:56

kyubi escreveu:rapaziada muito obrigado pelas dicas mesmo!!
vou fazer umas perguntas básicas aqui pra vcs:

1 - pra dar um load nos sprites externo e no som não da problema?
vcs sabem como posso fazer isso?
teria como salvar os sprites em .bin e descompacta-los na hora de rodar o jogo dentro do mesmo folder do executavel do jogo(pra não ficar uma coisa meio que porca na hora de instalar o jogo na máquina de alguem)

2 - se eu tiver um draw comum a todos e também um step para definir o depth a todos os objetos do cenario como e onde posso colocar este código único á todos....crio um obj_controle_depth e coloco persistente na primeira room??? seria isso??mas ele iria identificar todos os objetos?

3 - detectei que meu personagem esta com muitos draws para controlar objetos de informação de cenario fixos como por exemplo hp, barra de ataque especial, score e ammo pras varias armas do jogo inclusive estou usando uma fonte estilizada que criei com o tutorial de vcs aqui ^_^(valeu mesmo pessoal ) e gostaria de saber ....será que esse draw excessivo no meu main character não está fazendo com que a ram aumente mais 1 a cada segundo??
e como posso diminuir esse load de " draw information on screen " ...seria também criar um controle e lança-lo na tela persistente?

foi mal o excesso de perguntas ....e não se preocupem que estou dando uma busca acirrada aqui nos forums internacionais também...mas agradeceria se vcs pudessem responder com sua experiência peesoal.

Obrigado pelo auxilio
Particularmente acho que não seria nada disso, pois embora os backgrounds e outros recursos gastem muita RAM ela geralmente é dimensionada no inicio do jogo, e mesmo que vc marque a opção LOAD ON USE ela vai aumentar de um jeito fixo. Esse problema pode estar sendo gerado por 2 motivos:
1-Vc esta criando alguma instância no evento STEP de algum objeto que pode esta na mesma posição da tela então vc não detecta.
2-Vc pode estar deixando algumas instâncias sem destrui-las, ou seja elas somem da tela mais ainda permanecem na memória. Isso acontece muito com jogos de tiro com as instâncias dos bullets, pois são muitos....
Pra você descobrir faça o seguinte: Adicione essa linha no evento DRAW da sua Nave:
Evento DRAW da Nave:
Código:

draw_tex(x, y, "Instancias total:" + String(instance_numher()));
Com isso você podera monitorar o numero de instâncias criadas e podera descobrir se esse é o problema.

vinians

Ranking : Nota B
Número de Mensagens : 2490
Idade : 27
Data de inscrição : 18/09/2008
Notas recebidas : B-C-A-C
Reputação : 52
Insignia 1 x 0 Insignia 2 x 1 Insignia 3 x 0
Prêmios
   : 0
   : 2
   : 1

http://xcreatorgames.weebly.com/

Voltar ao Topo Ir em baixo

Re: Memoria RAM Vai de 600 pra 1,39GB na hora de execução do jogo!!??

Mensagem por Gusba em Qua 28 Jan 2009, 20:09

cara, a unica coisa que sei é que um grande defeito do GM é o evento DRAW, ele é pesado e estraga tudo

Gusba

Número de Mensagens : 1156
Idade : 21
Data de inscrição : 03/08/2008
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   :
   :

http://www.ciganospictures.hd1.com.br

Voltar ao Topo Ir em baixo

Re: Memoria RAM Vai de 600 pra 1,39GB na hora de execução do jogo!!??

Mensagem por kyubi em Qua 28 Jan 2009, 21:03

coloquei o

draw_text(x, y, "Instancias total : " + string(instance_number(qualquer_objeto_aqui)));

e realmente o jogo esta muito bem programado sem repetições e erros de criação e destruição de instancias....pelo menos nessa parte graças a deus

quando meu personagem( não é nave não ^_^ ) pega a arma no chão e atira taé mesmo o numero de instancias é incrementado corretamente e destruido fora da tela ou quando acerta os inimigos na tela.

valeu mesmo mas aqui não possui erros

pra vc ter ideia no meu código possui ally, enemy e tiros que são pais do personagem principal, dos inimigos comums e das armas..pois ai posso controla-los mais facilmente!
e ally, enemy e tiros são filhos de obs que controla o que é comum á todos.

como fiz um código e salvei a engine 57 vezes, cada vez que modifiquei ela. tenho a primeira engine e vi que ja estava usando 965MB de ram para 0.98GB so com o inimigo o cenário movimentado (como objetos e background fixo de fundo sem usar tiles) e o personagem principal e ficava estavel nos 0.98GB de ram.

será que usar tiles em vez de um cenário grande e todo feito no toom boom(separado em objetos esta causando isso...pois eu apaguei todo o background e não deu em nada.

kyubi

Número de Mensagens : 19
Data de inscrição : 06/09/2008
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: Memoria RAM Vai de 600 pra 1,39GB na hora de execução do jogo!!??

Mensagem por vinians em Qua 28 Jan 2009, 21:39

O que mais me intriga é essa progressão de aumento de RAM, isso denota algo no evento STEP pois o evento DRAW embora possa ser a parte mais lenta geralmente não cria nada, apenas mostra o estado dos objetos. Quanto ao fato dos tiles, realmente quando criamos um jogo com muitas fases, ou com uma fase muito grande usando Views, o uso de Tiles minimiza o trabalho da CPU e gasto de memória pois os Tiles em sí são como objetos mortos ou seja não geram nenhum tipo de evento, por isso são indicados para grandes Roms. Coloquew objetos somente onde seus Eventos sejam realmente insubstituiveis. Se o seu numero de objetos se mantem em uma média constante então realmente não ha objetos sendo deixados pra trás. Então podemos cair matando em outro aspecto que pode causar estes problemas, o carregamento de objetos do disco durante o jogo. Também verifique se esta usando o DS_LIST ou outros tipos de Listas e Filas que precisam ser desalocadas quando não foram mais necessárias. Ou seja todos os comandos DS_**** possuem um DS_*_Destroy() que precisa ser usado corretamente. Verifique que pode ser isso.

vinians

Ranking : Nota B
Número de Mensagens : 2490
Idade : 27
Data de inscrição : 18/09/2008
Notas recebidas : B-C-A-C
Reputação : 52
Insignia 1 x 0 Insignia 2 x 1 Insignia 3 x 0
Prêmios
   : 0
   : 2
   : 1

http://xcreatorgames.weebly.com/

Voltar ao Topo Ir em baixo

Re: Memoria RAM Vai de 600 pra 1,39GB na hora de execução do jogo!!??

Mensagem por kyubi em Qua 28 Jan 2009, 22:26

mas o problema maior com tiles é que vc não pode animar algumas coisas no fundo do cenário!e ai o jogo mesmo em HD fica pobre!!
não estou usando lista e nem pilhas não!

apenas um vetorzinho para alocar as armas com seus sprites stand ,act ,jump...etc com cada valor de image_speed e special para cada animação de arma e um objeto á parte para destruir a animação das armas jogando elas no chão e explodindo elas....claro destruindo a instancia em si!

cara é por isso que pra programar jogos tem que ter mais de uma pessoa sozinho é barra pesada...até as músicas pra quem nunca compos na vida foi um martírio!!

os FX não são pesados não pois retirei eles e deu na mesma....

O que mais doi é que no fundo depois de um tempão de trabalho estou me sentindo igual á um produtor da capcom portando dead rising pra nintendo WII ^_^ ( é foda)

kyubi

Número de Mensagens : 19
Data de inscrição : 06/09/2008
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: Memoria RAM Vai de 600 pra 1,39GB na hora de execução do jogo!!??

Mensagem por vinians em Qua 28 Jan 2009, 22:49

É, fazer jogo sozinho é dificil mesmo, pois um simples jogo inclui geralmente, animação, roteiro, sons, tema... Eu geralmente faço sozinho porque não achei ninguem que realmente se empenhe a fazer algo legal e que não fique preso a esse ou aquele estilo de jogo, pois acho que a jogabilidade é fundamental e nem todos concordam Smile
Bom, você disse que:
1- O total de instâncias estão mantendo-se num valor constante... (OK)
2- Nao usa DS_´S (OK)
3- Usa muuuitos objetos (:|)
4- Usa uma resolução pesada (:|)
5- Usa Parents (isso é otimo pois evita duplicaçao de código) (OK)

Importante:
========
Você disse que tem 56 versões do fonte gravadas, tente identificar a partir de qual versão o problema começa a acontecer, então a partir disso, verifique o que vc acrescentou na versão imediatamente a essa, pois o problema va estar ali, mesmo que pareça uma coisa absurda (quem programa jogos a algum tempo ja viu coisas do arco da velha...).

Sobre a animção dos tiles, creio que mesmo assim nem todas as partes do seu background sao animadas, são? Então onde for coloque objetos.

vinians

Ranking : Nota B
Número de Mensagens : 2490
Idade : 27
Data de inscrição : 18/09/2008
Notas recebidas : B-C-A-C
Reputação : 52
Insignia 1 x 0 Insignia 2 x 1 Insignia 3 x 0
Prêmios
   : 0
   : 2
   : 1

http://xcreatorgames.weebly.com/

Voltar ao Topo Ir em baixo

Re: Memoria RAM Vai de 600 pra 1,39GB na hora de execução do jogo!!??

Mensagem por kyubi em Qua 28 Jan 2009, 23:22

minha resolução é de 1280 x 720 pois eu estava tentando aprender a desenvolver jogos 2D hd para de pois porta-lo para a xna na xbox live!!ou até mesmo pro iphone depois diminuindo tudo de tamanho.pra isso terá o game salad(só pra iphone)

como sei desenhar desde moleque só agora esou fazendo animações ....o que por incrivel que pareçe é muito divertido!! especialmente com o toon boom studio e o photophop adobe


" jogabilidade é fundamental " concordo tenho dois consoles next gen aqui e tenho aquele far cry 2 .gosto muito dele tem uma estorinha fraca...mas os controles são precisos e muito bem programados...fora outros claro! comigo não tem ismo nenhum eu tenho é jogismo EHEHE...adoro jogar!!passa tempo maravilhoso!

ai pensei em fazer algo diferente de meus colegas para o projeto final e quando falei que ia produzir um jogo, nego falou pra mim: " vai ter uma fase e um inimigo "...LOL.....deixa eu mostrar isso aqui pra eles engasgarem com as próprias palavras....quem rir por ultimo ri melhor!! LOL

E pra música aprendi a usar o CUBASE SX e o fruit loops studio ou FL studio...ótimas ferramentas de som!!

sobre a quantidade de objetos num background de 2560 x 720 eu tenho 4 arvores animadas e 4 janelas + portas (juntas em 1 sprite) de casas animadas + 12 nuvenzinhas pequenas , que vão da esquerda pra direita de tempo em tempo...sem andar o cenário todo claro!!

kyubi

Número de Mensagens : 19
Data de inscrição : 06/09/2008
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: Memoria RAM Vai de 600 pra 1,39GB na hora de execução do jogo!!??

Mensagem por Lap1994 em Qui 29 Jan 2009, 03:25

Eu acho q sei por que. Vc criou uma room muito grande com um background repetitivo e eskeceu de colocar views OU esticou uma view de+.Crie uma room e coloque na frente de todas. Teste o jogo. Se a memoria subir significa que o problema é com os resources do contrario é com a ROOM/ENGINE do jogo.

Lap1994

Número de Mensagens : 350
Idade : 22
Data de inscrição : 20/11/2008
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

http://lap1994.deviantart.com/

Voltar ao Topo Ir em baixo

Re: Memoria RAM Vai de 600 pra 1,39GB na hora de execução do jogo!!??

Mensagem por kyubi em Qui 29 Jan 2009, 03:54

Ai rapaziada descobri!!

o erro de comer memória estava na minha fonte que criei a partir do tutorial da GM brasil!!

não sei porque tirei a fonte e parou de papar a ram....mas que o que posso ter feito errado??logo minha fonte que deu um trabalhão pra fazer....que droga!!

vinians - valeu pela dica usei o background estático do jogo como um tile e diminuiu em 1.26GB de ram ai dei um crop nas imagems todas e consegui menos de 1 GB( AEEEE!! )
agora é so programar com cuidado sempre de olho na ram.

se quiserem tem esse tutorial de como otimizar o jogo:





Optimizing Your Game Maker Game

abraço á todos e espero que consiga terminar este projeto com tranquilidade!!

valeu pelas dicas rapaziada!!

kyubi

Número de Mensagens : 19
Data de inscrição : 06/09/2008
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: Memoria RAM Vai de 600 pra 1,39GB na hora de execução do jogo!!??

Mensagem por Conteúdo patrocinado Hoje à(s) 06:43


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