[GML Optimizer]

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

[GML Optimizer]

Mensagem por Jiraya em Seg 12 Nov 2012, 03:13

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.



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 ;)


Jiraya

Ranking : Nota A
Número de Mensagens : 1134
Data de inscrição : 20/03/2010
Notas recebidas : A+A
Reputação : 108
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   : 0
   : 1

https://www.facebook.com/seito.washiro.7

Voltar ao Topo Ir em baixo

Re: [GML Optimizer]

Mensagem por luiz_eldorado em Qui 15 Nov 2012, 14:54

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.

luiz_eldorado

Ranking : Nota C
Número de Mensagens : 928
Idade : 17
Data de inscrição : 30/07/2011
Notas recebidas : C
Reputação : 47
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 1

http://luizpontes.tk/

Voltar ao Topo Ir em baixo

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


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