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
[GML Optimizer]
2 participantes
Página 1 de 1
[GML Optimizer]
Olá Pessoal!
Faz algum tempo que não posto nada, bom não é por indolência...
ando meio ocupado com estudos e trabalho, também estou desenvolvendo um jogo para Android com um colega daqui.
emfim, como sabemos game maker é uma linguagem interpretada, ou seja, o "runner" tem que ler as strings do arquivo fonte computar os parâmetros e executar, esse processo pode ser um pouco lento...
mas é possível torna-lo mais rápido, tecnicamente quanto menos caracteres o código mais veloz será a execução, provas? não sabe-se ao certo, se funciona como eu penso:
lista de variaveis tipo valor
room_caption string "Caption"
image_angle real 360
direction real 90
...
Variaveis tipo valor
hp real/mimic 100
nome string/mimic "Mario"
level real/mimic 1
...
Constantes tipo valor
fps real 30
room_width real 640
room_height real 480
...
funções numero de parametros
draw_sprite 4
draw_line 4
draw_rectangle 5
...
Scripts parametros
Desenha_Interface 0
desenha_personagem 3
....
e muitos outras lista
imagine
você cria uma variável com um nome bem grande
nome_do_meu_personagem="Derp Herp";
o game maker teria que ler tudo isso e procurar em TODAS as listas locais,globais,constantes,e temporárias, pelo valor "Derp Herp"
logo quanto mais variáveis o jogo tiver e quanto maior o nome delas mais lento o jogo será...
é uma teoria.
então seguindo essa lógica
draw_set_color(0) é mais rapida que draw_set_color(c_black);
porque 0 é o valor da constante c_black, então o runner não vai precisar procurar na gigante lista de variáveis por esse valor.
aww yeeahhh ganhamos 0,0001 segundo de desempenho
multiplique esse valor pelo tamanho do seu código e verá que isso no final pode fazer uma grande diferença
EM FIM, aqui esta o projeto que eu desenvolvi
é BETA ainda preciso fazer mais testes, se alguém encontrar algum erro/bug por favor me avise.
façam um backup do seu jogo antes de usar, eu não encontrei erros, mas é bom prevenir.
testei em um projeto no game maker 8.0 e studio funcionou perfeitamente ganhei 0,8 segundos de desempenho num pequeno trecho de código ;)
Faz algum tempo que não posto nada, bom não é por indolência...
ando meio ocupado com estudos e trabalho, também estou desenvolvendo um jogo para Android com um colega daqui.
emfim, como sabemos game maker é uma linguagem interpretada, ou seja, o "runner" tem que ler as strings do arquivo fonte computar os parâmetros e executar, esse processo pode ser um pouco lento...
mas é possível torna-lo mais rápido, tecnicamente quanto menos caracteres o código mais veloz será a execução, provas? não sabe-se ao certo, se funciona como eu penso:
lista de variaveis tipo valor
room_caption string "Caption"
image_angle real 360
direction real 90
...
Variaveis tipo valor
hp real/mimic 100
nome string/mimic "Mario"
level real/mimic 1
...
Constantes tipo valor
fps real 30
room_width real 640
room_height real 480
...
funções numero de parametros
draw_sprite 4
draw_line 4
draw_rectangle 5
...
Scripts parametros
Desenha_Interface 0
desenha_personagem 3
....
e muitos outras lista
imagine
você cria uma variável com um nome bem grande
nome_do_meu_personagem="Derp Herp";
o game maker teria que ler tudo isso e procurar em TODAS as listas locais,globais,constantes,e temporárias, pelo valor "Derp Herp"
logo quanto mais variáveis o jogo tiver e quanto maior o nome delas mais lento o jogo será...
é uma teoria.
então seguindo essa lógica
draw_set_color(0) é mais rapida que draw_set_color(c_black);
porque 0 é o valor da constante c_black, então o runner não vai precisar procurar na gigante lista de variáveis por esse valor.
aww yeeahhh ganhamos 0,0001 segundo de desempenho
multiplique esse valor pelo tamanho do seu código e verá que isso no final pode fazer uma grande diferença
EM FIM, aqui esta o projeto que eu desenvolvi
é BETA ainda preciso fazer mais testes, se alguém encontrar algum erro/bug por favor me avise.
caso o botão acima não funcione...
https://dl.dropbox.com/u/61491349/Fairu/Otimizer.html
façam um backup do seu jogo antes de usar, eu não encontrei erros, mas é bom prevenir.
testei em um projeto no game maker 8.0 e studio funcionou perfeitamente ganhei 0,8 segundos de desempenho num pequeno trecho de código ;)
Re: [GML Optimizer]
Legal. Realmente o Game Maker deve executar os códigos por string, verificando cada posição.
Tem um problema no otimizador. "varx" não funciona, teria que ser "var x".
Mas acho que é difícil que as pessoas usem isto, já que por conta da organização, isso deixa os códigos desorganizados, deixando difícil de se ler e achar um bug. A única razão para se usar é se o jogo estiver realmente lento.
Tem um problema no otimizador. "varx" não funciona, teria que ser "var x".
Mas acho que é difícil que as pessoas usem isto, já que por conta da organização, isso deixa os códigos desorganizados, deixando difícil de se ler e achar um bug. A única razão para se usar é se o jogo estiver realmente lento.
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos
|
|