Entrar
Últimos assuntos
» Retorno da GMBR!!!por theguitarmester Ter 19 Mar 2024, 22:38
» Procuro Programador de game maker
por Wou Sex 15 Mar 2024, 10:27
» Mod APK
por gamerainha Qua 13 Mar 2024, 06:30
» Mudar cor de apenas uma palavra
por lunalol Sex 01 Mar 2024, 13:42
» Aceito pedidos de sprites (Com exemplos meus)
por Sevilha Qua 28 Fev 2024, 12:17
» Inventário simples
por Isquilo_Roedor Qui 22 Fev 2024, 15:18
» Problemas na programaçnao de inimigo [jogo DOOM LIKE]
por Black Mirror Dom 11 Fev 2024, 13:34
» ANDROID MULTI TOUCH
por DiegoBr Dom 04 Fev 2024, 12:13
» Servidor de Discord do fórum?
por Lighter Sáb 27 Jan 2024, 17:18
» Save e Load Json
por Klinton Rodrigues Qui 25 Jan 2024, 11:12
» Colisão com mais de um objeto
por aminaro Seg 22 Jan 2024, 15:02
» Oi sou novo aqui
por Thiago Silveira Alexandre Sáb 20 Jan 2024, 20:55
» Como acessar conteudo comprado no marketplace
por macmilam Sex 19 Jan 2024, 07:42
» Devlogs em vídeos do Block Room
por Joton Seg 15 Jan 2024, 16:56
» Alguém aqui já ganha dinheiro com seus games?
por Joton Seg 15 Jan 2024, 16:49
» ACERVO GMBR MAGAZINE
por Joton Qui 11 Jan 2024, 19:21
» como aumentar o obj sem aumentar a colisão??
por GabrielXavier Qua 10 Jan 2024, 07:21
» Asteroid Core - Early Acesse Update [0.2.0.0]
por JOZ. Seg 08 Jan 2024, 14:39
» Versionamento de código com GitHub
por GabrielXavier Seg 08 Jan 2024, 07:32
» Rio Rise - novo launcher do Gta San Andreas SAMP Brasil
por kolesovsup Sex 29 Dez 2023, 07:16
» a funçao approach ainda existe?
por PEDRINDEV Ter 26 Dez 2023, 20:05
» Inimigo ataca até por trás! >:(
por saim Sex 22 Dez 2023, 08:55
» [RESOLVIDO]Spawn após morte
por Deception_1999 Dom 17 Dez 2023, 16:39
» Remunerado $$$ - Procuro programador para ajudar a "montar" um jogo
por theguitarmester Sáb 02 Dez 2023, 16:28
» Game maker nao abre
por Cerf Dom 26 Nov 2023, 12:01
[DÚVIDA] Sistema de load e consumo de memoria
+2
Lucas 5293
Adriano Heartless
6 participantes
Página 1 de 1
[DÚVIDA] Sistema de load e consumo de memoria
Olaa pessoal makermainaicos eeheheh
Bom hoje to aqui pra tratar de uma assunto muito sério que está me fazendo não dormir direito por semanas. O consumo de memoria no Game make.
Não é de hoje que muitas pessoas enfrenta esse problema aqui com o Game maker. Sendo de fato que o game maker hospeda seus sprites e sonds na memoria o que sobre aquece o sistema e torna o seu jogo super pesado. Vou explicar por etapa e preciso de uma ajuda pq isso não está mais ao meu alcance =/
1° Desenvolvimento do diretorio
Comecei a um tempo já desenvolver um projeto e hoje ele está com bastante conteudo. Para resolver o consumo constante de memoria que havia percebido no game maker a solução é crirar um diretorio. Perfeito o game está com exatos 500 megas de conteudo.
Porem ao pegar spites externamente o game maker simplesmente pega o sprite e coloca na memoria, Ou seja fazer um diretorio de arquivos somente faz com que o load do inicio não carregue todos os arquivos ao inves de fizemos o jogo sem diretorio e acontecer isso.
2° Sistema de load
Como eu não estava conseguindo repor as sprites deletadas da memoria.
" sprite_add" "sprite_delete" eu resolvi subistituir os arquivos por arquivos vazios...exemplo
sprite_jogador = 50 megas de memoria
sprite_vazio= 0 megas de memoria
no load eu fazia
sprite_replace_sprite(spr_jogador,"Data/Act1/sprjogador.gmspr");
depois quando não prcisar do sprite eu subistiuia pelo o sprite vazio assim
sprite_replace_sprite(spr_jogador,"Data/spr_vazio.gmspr");
No final deu certo a memoria se estabilizou um pouco mas ainda n é o suciciente.
3° Melhorando o sistema de load com a GMlibrary
Pesquisando que nem um louco consegui achar a GMlibrary
https://gmbr.forumeiros.com/t15117-gexgmlibrary-v2
com ela existe o comando sys_clear_memory()
que limpa a memoria fisica mas mesmo assim não adianta pois esse comando somente limpa a memoria real e não a memoria que o jogo ralmente consome
Eu tenho uma imagem aqui pra demostrar isso
Na imagem da pra ver q o jogo está com o consumo de memoria fisica bem baixo (Privado) porem o sistema está reservando quase 1,5 gb de memoria ( confirmar) o_O
tem momentos que o sistema reserva 1 giga e 700 de memoria =///////////
Pra fazer um teste eu rodei o Tomb Raider Underworld e o sistema reserva apenas 800 megas de memoria...significa que o sistema está indicando q o meu jogo e mais pesado q o Tomb Raider Underworld kkkkkkkkkkkkkk
3° DLL CleanMem
Bom recentimente eu achei algo muito interessante.
Essa DLL tem a função de limpar a memoria de uso usado pelo game maker. É muito util para deixar seu jogo mais leve
http://gmc.yoyogames.com/index.php?showtopic=438215
Bom porem nada disso adiantou...a minha dúvida é tem uma maneira de abaixar o consumo de memoria que o sistema reserva para seu jogo. Pois com os comandos existens somente libera a memoria fisica o que ajuda muito mais n é suficiente.
Algue poderia dizer uma maneira de fazer um sistema de load que não destrua a memoria =/
Bom hoje to aqui pra tratar de uma assunto muito sério que está me fazendo não dormir direito por semanas. O consumo de memoria no Game make.
Não é de hoje que muitas pessoas enfrenta esse problema aqui com o Game maker. Sendo de fato que o game maker hospeda seus sprites e sonds na memoria o que sobre aquece o sistema e torna o seu jogo super pesado. Vou explicar por etapa e preciso de uma ajuda pq isso não está mais ao meu alcance =/
1° Desenvolvimento do diretorio
Comecei a um tempo já desenvolver um projeto e hoje ele está com bastante conteudo. Para resolver o consumo constante de memoria que havia percebido no game maker a solução é crirar um diretorio. Perfeito o game está com exatos 500 megas de conteudo.
Porem ao pegar spites externamente o game maker simplesmente pega o sprite e coloca na memoria, Ou seja fazer um diretorio de arquivos somente faz com que o load do inicio não carregue todos os arquivos ao inves de fizemos o jogo sem diretorio e acontecer isso.
2° Sistema de load
Como eu não estava conseguindo repor as sprites deletadas da memoria.
" sprite_add" "sprite_delete" eu resolvi subistituir os arquivos por arquivos vazios...exemplo
sprite_jogador = 50 megas de memoria
sprite_vazio= 0 megas de memoria
no load eu fazia
sprite_replace_sprite(spr_jogador,"Data/Act1/sprjogador.gmspr");
depois quando não prcisar do sprite eu subistiuia pelo o sprite vazio assim
sprite_replace_sprite(spr_jogador,"Data/spr_vazio.gmspr");
No final deu certo a memoria se estabilizou um pouco mas ainda n é o suciciente.
3° Melhorando o sistema de load com a GMlibrary
Pesquisando que nem um louco consegui achar a GMlibrary
https://gmbr.forumeiros.com/t15117-gexgmlibrary-v2
com ela existe o comando sys_clear_memory()
que limpa a memoria fisica mas mesmo assim não adianta pois esse comando somente limpa a memoria real e não a memoria que o jogo ralmente consome
Eu tenho uma imagem aqui pra demostrar isso
Na imagem da pra ver q o jogo está com o consumo de memoria fisica bem baixo (Privado) porem o sistema está reservando quase 1,5 gb de memoria ( confirmar) o_O
tem momentos que o sistema reserva 1 giga e 700 de memoria =///////////
Pra fazer um teste eu rodei o Tomb Raider Underworld e o sistema reserva apenas 800 megas de memoria...significa que o sistema está indicando q o meu jogo e mais pesado q o Tomb Raider Underworld kkkkkkkkkkkkkk
3° DLL CleanMem
Bom recentimente eu achei algo muito interessante.
Essa DLL tem a função de limpar a memoria de uso usado pelo game maker. É muito util para deixar seu jogo mais leve
http://gmc.yoyogames.com/index.php?showtopic=438215
Bom porem nada disso adiantou...a minha dúvida é tem uma maneira de abaixar o consumo de memoria que o sistema reserva para seu jogo. Pois com os comandos existens somente libera a memoria fisica o que ajuda muito mais n é suficiente.
Algue poderia dizer uma maneira de fazer um sistema de load que não destrua a memoria =/
Re: [DÚVIDA] Sistema de load e consumo de memoria
Ótima pergunta .
Bom a solução mais prática em que vemos nos jogos de hoje, é fazer vários loads.
Por exemplo:
Um para carregar os menus
Outro para carregar a primeira fase e deleta os loads do menu.
Depois da segunda fase e deleta os loads da primeira.
FLWS
Bom a solução mais prática em que vemos nos jogos de hoje, é fazer vários loads.
Por exemplo:
Um para carregar os menus
Outro para carregar a primeira fase e deleta os loads do menu.
Depois da segunda fase e deleta os loads da primeira.
FLWS
Re: [DÚVIDA] Sistema de load e consumo de memoria
Seu jogo é muito pesado.
Você usou aquela DLL corretamente? O melhor é colocar para limpar a memória a cada um segundo. Num alarm faz isso.
O load externo é mais rápido, ou seja, use ele com as funções replace.
Faça um sistema de load melhor, ou seja, limpe a memória sempre que inserir recursos, ou seja, delete os recursos inuteis nas próximas fases da memória.
A cleanmem é boa sim, um jogo que gastava 30 MB de memória aqui passou a gastar 6~8 MB.
Você usou aquela DLL corretamente? O melhor é colocar para limpar a memória a cada um segundo. Num alarm faz isso.
O load externo é mais rápido, ou seja, use ele com as funções replace.
Faça um sistema de load melhor, ou seja, limpe a memória sempre que inserir recursos, ou seja, delete os recursos inuteis nas próximas fases da memória.
A cleanmem é boa sim, um jogo que gastava 30 MB de memória aqui passou a gastar 6~8 MB.
Leia o Manual do Iniciante e a Lista de Tutoriais, para aprender bastante sobre o GM.
Recomendo o Manual completo das colisões, bem útil.
O exemplo Criar um chat (banir, kickar, etc) é interessante.
Para seu jogo ficar rápido e legal, aprenda a Aumentar o desempenho do seu jogo.
Aprenda a calcular a velocidade de suas animações
Entre para o Clube do Inglês:
Re: [DÚVIDA] Sistema de load e consumo de memoria
@lucas
vlw pelas as dias ehehe eu fiz um load para cada fase e no meo das fases eu vou subistituindo os arquivos por outros
@Pedro 'O'
Bom é realmente meu jogo é muito pesado =/
eu tbm to tendo dúvidas em usar a dll de limpar a memoria se poder me explicar ou da alguma dica =/
sobre a funcção replace eu estou usando pq não sei como deletar o sprite da memoria e criar novamente pois sempre q eu deletava não podeia mais voltar só se eu abrir o jogo de novo =/
a memoria a cada 1 segundo'o'..ntentei fazer vou tentar agora pra ve se da certo ...eu usava da seguinte maneira
um objeto permanente q a cada room_start usava o comando
sys_clear_memory()
e no load todos os arquivos do jogo externo eram substituido por arquivo vazio ( arquivos q n ocupam nada na memoria) e carregava somente os arquivos necessario
Eu tenho minhas suspesta de que
1 - De alguma forna os arquivosn estão sendo deletados da memoria mesmo vendo a memoria abaixando
2 - Eu devo não está usando a DLL corretamente =/
vlw pelas as dias ehehe eu fiz um load para cada fase e no meo das fases eu vou subistituindo os arquivos por outros
@Pedro 'O'
Bom é realmente meu jogo é muito pesado =/
eu tbm to tendo dúvidas em usar a dll de limpar a memoria se poder me explicar ou da alguma dica =/
sobre a funcção replace eu estou usando pq não sei como deletar o sprite da memoria e criar novamente pois sempre q eu deletava não podeia mais voltar só se eu abrir o jogo de novo =/
a memoria a cada 1 segundo'o'..ntentei fazer vou tentar agora pra ve se da certo ...eu usava da seguinte maneira
um objeto permanente q a cada room_start usava o comando
sys_clear_memory()
e no load todos os arquivos do jogo externo eram substituido por arquivo vazio ( arquivos q n ocupam nada na memoria) e carregava somente os arquivos necessario
Eu tenho minhas suspesta de que
1 - De alguma forna os arquivosn estão sendo deletados da memoria mesmo vendo a memoria abaixando
2 - Eu devo não está usando a DLL corretamente =/
Re: [DÚVIDA] Sistema de load e consumo de memoria
Você está usando a cleanmem? essa que eu disse para usar a cada um segundo.
A gmlibrary me parece que limpa os traços de arquivos perdidos na memória depois que o jogo é fechado.
A gmlibrary me parece que limpa os traços de arquivos perdidos na memória depois que o jogo é fechado.
Leia o Manual do Iniciante e a Lista de Tutoriais, para aprender bastante sobre o GM.
Recomendo o Manual completo das colisões, bem útil.
O exemplo Criar um chat (banir, kickar, etc) é interessante.
Para seu jogo ficar rápido e legal, aprenda a Aumentar o desempenho do seu jogo.
Aprenda a calcular a velocidade de suas animações
Entre para o Clube do Inglês:
Re: [DÚVIDA] Sistema de load e consumo de memoria
Não sei qual é o tipo do seu jogo/applicativo, mas se ele for muito grande tem um jeito de você resolver criando varios executavies. Sendo assim, o primeiro executavel por exemplo pode ser o MENU que vai chamar os outros executavels. Você pode inclusive criar um arquivo para gravar o estado dos jogos, uma forma de persistência de variáveis, isso pode resolver de vez o seu probelam de memória.
Flws!
Flws!
Re: [DÚVIDA] Sistema de load e consumo de memoria
Perfeito o game está com exatos 500 megas de conteudo.
Um jogo de 500 mega tem que ser muito grande. Qualquer jogo do Play1 que tenha uma faixa parecida com essa tem pelo menos umas 20 horas de jogo. Um jogo de exatos 500 mega que eu me lembrei pra PC agora é o Morrowind, e é um incrivelmente grande tanto em cenário quanto em objetos.
Será que você não tá usando recursos meio "exagerados"? Tipo, mp3 enormes, um monte de background grande, sprites exagerados...? Não tenho certeza, mas pelo tamanho do jogo, leva a crer que o problema tá na seleção dos recursos do teu jogo, e não no desempenho do GM.
Obs.: Esse jeito que você usou, do sprite_replace ao invés de sprite_add, com certeza é o melhor mesmo. É mais fácil e mais rápido do que deletar e adicionar recursos toda hora.
Valeu!
GameMakerTutoriais- Data de inscrição : 29/01/2011
Reputação : 26
Número de Mensagens : 800
Prêmios :
x 0 x 4 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: [DÚVIDA] Sistema de load e consumo de memoria
Não se esqueça de desativar as instâncias que estão fora da tela no momento!Desative todas as instâncias possíveis!
São uma ajuda e tanto na otimização do processamento do jogo.
São uma ajuda e tanto na otimização do processamento do jogo.
Re: [DÚVIDA] Sistema de load e consumo de memoria
Veja as dicas acima e esse tutorial:
https://gmbr.forumeiros.com/t19480-melhorando-o-desempenho-dos-jogos
https://gmbr.forumeiros.com/t19480-melhorando-o-desempenho-dos-jogos
Leia o Manual do Iniciante e a Lista de Tutoriais, para aprender bastante sobre o GM.
Recomendo o Manual completo das colisões, bem útil.
O exemplo Criar um chat (banir, kickar, etc) é interessante.
Para seu jogo ficar rápido e legal, aprenda a Aumentar o desempenho do seu jogo.
Aprenda a calcular a velocidade de suas animações
Entre para o Clube do Inglês:
Tópicos semelhantes
» [Duvida] sistema de load online
» [Dúvida] Sistema de Particulas está sempre a aumentar a memória
» [resolvido]Consumo de memória das sprites
» [RESOLVIDO] Sistema de load game
» Duvida com Save e Load
» [Dúvida] Sistema de Particulas está sempre a aumentar a memória
» [resolvido]Consumo de memória das sprites
» [RESOLVIDO] Sistema de load game
» Duvida com Save e Load
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos
|
|