[dúvida] como posso optimizar a taxa de FPS no GM?

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

[dúvida] como posso optimizar a taxa de FPS no GM?

Mensagem por rhaian em Dom 30 Jun 2013, 15:11

Bem pessoal, eu não estou tendo nenhum problema assim, porém acho que vou ter futuramente.
então gostaria de saber se tem algo que eu possa fazer para melhorar o desempenho de fps do game maker em uma máquina? Que não inclua: Retirar efeitos e certos objetos do jogo. desativar objetos fora da view(pois isto já estou fazendo).
Existe alguma dll ou algo do tipo que eu posso usar?(já tentei a clean mem, mas parece que ela melhora apenas o uso da memória RAM do game maker no pc. e só um pouco..., porém eu ainda não usei a função "get mem".)

eu também gostaria de saber se é verdade, que não importa configuração do pc, o fps não melhora em nada? (ex: eu tenho um pc com uma intel 4 chipset family, e 2gb de ram, e outro com 4 gb de ram e uma intel hd graphics 3000(placa melhor), a taxa de FPS entre ambos PCs seria a mesma?

obrigado pela atenção.

rhaian

Ranking : Nota C
Número de Mensagens : 55
Idade : 17
Data de inscrição : 09/12/2011
Notas recebidas : C
Reputação : 1
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: [dúvida] como posso optimizar a taxa de FPS no GM?

Mensagem por saim em Dom 30 Jun 2013, 16:57

rhaian escreveu:Bem pessoal, eu não estou tendo nenhum problema assim, porém acho que vou ter futuramente.
Muito bom ver você se preocupando com o uso da memória muito antes disso ser um problema. O que você pode fazer é exatamente isso: se preocupar. Criou recurso (sprite, path, timeline)? Apague quando acabar. Tem objeto quase inúteis? Verifique se é possível fazer o mesmo jogo sem eles. O código está muito extenso pra fazer pouca coisa? Provavelmente tem um jeito mais inteligente de escrever a mesma coisa.
Você já está no caminho certo. Mas tem mais uma coisa.
Sempre que alguém disser que faz isso ou aquilo porque "é boa prática", APRENDA o que essa pessoa está fazendo. Boas práticas te treinam a otimizar sua programação.
rhaian escreveu:eu também gostaria de saber se é verdade, que não importa configuração do pc, o fps não melhora em nada? (ex: eu tenho um pc com uma intel 4 chipset family, e 2gb de ram, e outro com 4 gb de ram e uma intel hd graphics 3000(placa melhor), a taxa de FPS entre ambos PCs seria a mesma?
Sim e não. No game maker, a room_speed é definida ao criar o jogo. ela não vai ficar maior que a definida, não importa em que foguete você coloque o jogo. Mas pode ficar menor.
Se você define a room_speed pra, sei lá, 200 FPS, um foguete pode dar conta disso. Mas uma carroça, provavelmente, vai abrir o bico.
Os 30 FPS default rodam num monte de carroças. Desde que você adote as boas práticas.

saim

Ranking : Nota B
Número de Mensagens : 2964
Idade : 38
Data de inscrição : 14/01/2011
Notas recebidas : C-D-A-B
Reputação : 121
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   : 0
   : 3

Voltar ao Topo Ir em baixo

Re: [dúvida] como posso optimizar a taxa de FPS no GM?

Mensagem por Supersonic822 em Dom 30 Jun 2013, 17:44

Não importa a placa usada, o game maker só realmente usa a GPU quando você usa surfaces, partículas pesadas (como os da Game Cave Effects Engine) e blend modes. Do contrário, ele só pede para desenhar os sprites, que usa no máximo 10% da GPU...o resto vai pra CPU. E o game maker é igual ao port lixosos pra pc do Assassin's Creed 3: Não há suporte total a várias CPUS.

1500 objetos: Cpu 0 a 70%, Cpu1 não usada, 60 fps, GPU a 10%
2000 objetos: Cpu 0 a 100%, Cpu1 a 40%, 40 fps, GPU a 15%.

Ah e não se esqueça: GML é interpreda. Enquanto em C++ você pode fazer 1 bilhão de cálculos em 3 segundos, no GM você pode fazer 10 milhões de cálculos em 3 segundos.

Então o ÚNICO jeito de fazer o framerate melhorar é desativar os objetos fora da view. Os jogos 3d em open world fazem quase a mesma coisa: quando longe da câmera, muda para uma textura de baixa resolução. Quando ainda mais longe, o objeto é desativado. Quando perto, objeto em alta resolução. Isso se chama LOD: Level o Detail.

Supersonic822

Número de Mensagens : 19
Data de inscrição : 12/03/2013
Reputação : 5
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: [dúvida] como posso optimizar a taxa de FPS no GM?

Mensagem por Brother27 em Dom 30 Jun 2013, 18:24

Tem alguns macetinhos...

- Criar "loops" de alarm ao invés de colocar tudo em um step.
- Trocar os if-else-if por switches
- Usar tiles ao invés de objetos, quando possível
- Usar tiles maiores (tiles ainda gastam memória)
- Mesclar objetos "controladores" (aqueles que são invisíveis e controlam variáveis do jogo)
- Não usar backgrounds enormes

E por aí vai...
Espero ter ajudado

Brother27

Ranking : Nota C
Número de Mensagens : 253
Idade : 17
Data de inscrição : 28/06/2012
Notas recebidas : C
Reputação : 14
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: [dúvida] como posso optimizar a taxa de FPS no GM?

Mensagem por rhaian em Dom 30 Jun 2013, 18:36

supersonic822 escreveu:Não importa a placa usada, o game maker só realmente usa a GPU quando você usa surfaces, partículas pesadas (como os da Game Cave Effects Engine) e blend modes.
Cara eu não uso mais partículas do game maker,XD são meio inúteis pra mim, os efeitos de partículas da game cave são ruins na minha opinião.

supersonic822 escreveu:
Então o ÚNICO jeito de fazer o framerate melhorar é desativar os objetos fora da view. Os jogos 3d em open world fazem quase a mesma coisa: quando longe da câmera, muda para uma textura de baixa resolução. Quando ainda mais longe, o objeto é desativado. Quando perto, objeto em alta resolução. Isso se chama LOD: Level o Detail.
rhaian escreveu:
Que não inclua: desativar objetos fora da view(pois isto já estou fazendo).

@saim obrigado pelas colocações, você meio que misturou um pouco e não chegou exatamente onde eu queria, mas ajudou bastante. obrigado

@brother obrigado pelas dicas, mas já conheço e uso todas. Happy

rhaian

Ranking : Nota C
Número de Mensagens : 55
Idade : 17
Data de inscrição : 09/12/2011
Notas recebidas : C
Reputação : 1
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: [dúvida] como posso optimizar a taxa de FPS no GM?

Mensagem por PedroX em Seg 01 Jul 2013, 00:38

Veja o tutorial a seguir:

http://gmbr.forumeiros.com/t19480-melhorando-o-desempenho-dos-jogos

E lembre-se: se você quiser diminuir o processamento, aumente a memória usada; se quiser diminuir a memória usada, aumente o processamento.

PedroX

Ranking : Nota C
Número de Mensagens : 6034
Idade : 21
Data de inscrição : 26/07/2008
Notas recebidas : C+B
Reputação : 286
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

Voltar ao Topo Ir em baixo

Re: [dúvida] como posso optimizar a taxa de FPS no GM?

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


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