Página 1 de 1
Ajuda com FPS e quantidade de objetos
Enviado: Sáb Jul 02, 2016 3:19 pm
por chicoweb
Boa Tarde galera,
To com um problema no meu game, quando vai chegando nas fases mais adiantadas, quando aparecem mais inimigos o fps vai diminuindo irritantemente chegando a fica meio em camera lenta;
Eu queria saber se alguem tem uma função ai de debug para exibir na tela todas as intancias existentes na room, e a quantidade de cada, to desconfiado que alguma não esta com o devido detroy e ta dando isso, mas ta osso achar.
E eu também queria aproveitar para tirar uma dúvida: Só a presença dos objetos na room é que diminui o fps ou o movimento deles também influencia (conta movimento simples, varia eixos x e y)?
Re: Ajuda com FPS e quantidade de objetos
Enviado: Sáb Jul 02, 2016 3:22 pm
por Golden Bunny
E.. Não.. O movimento não tem praticamente influência nenhuma sobre o desempenho.
Re: Ajuda com FPS e quantidade de objetos
Enviado: Sáb Jul 02, 2016 4:46 pm
por chicoweb
Hyreos escreveu:
E.. Não.. O movimento não tem praticamente influência nenhuma sobre o desempenho.
O problema é que eu teria que saber o nome de todos os objetos, e o pior teria que saber se ele estão na tela ou não, eu queria era tipo um script generico mesmo.
Ficaria tipo isso ai embaixo que nao sei como fica em gml:
Código: Selecionar todos
yy = 0
for each intance in room{
yy += 16
draw_text(x,y+yy,intance.name + " = " + instance.number)
}
E obrigado pelas informações.
Re: Ajuda com FPS e quantidade de objetos
Enviado: Sáb Jul 02, 2016 8:55 pm
por gabrielsch
Você pode criar um laço
for para passar por todas as instancias, buscar seu id com a função
instance_find e extrair outras informações a partir disso:
var c, o_name, o_index;
c = instance_count;
for (i=0; i<c; i+=1)
{
o_index = instance_find(all, i)
o_name = object_get_name(o_index.object_index)
draw_text(32, 32 + i*12, 'Nome: ' + o_name)
};
Re: Ajuda com FPS e quantidade de objetos
Enviado: Qua Jul 06, 2016 8:48 am
por chicoweb
Valeu gabriel graças ao seu código eu consegui fazer um script muito bom.
Ele fica exibindo cada objeto e sua quantidade na room, mas ele não repete o nome do objeto fiz uma adaptação aí no código e deu certo.
Para ele ficar otimo so falta ordenar o vetor final pela quantidade, se alguem puder quebrar esse galho e fornecer um script de orndenar vetor agradecemos.
Ah os vetores finais que teria que ser ordenado sai assim, e teria que ser ordenado pela quantidade:
Eis o código que gera o vetor:
Código: Selecionar todos
/// DEBUG TODOS OS OBJETOS DA ROOM ATIVOS
xx = view_xview[0]
yy = view_yview[0]
var c, o_name, o_index,o_v_i,achou;
o_v_name[2000] = ""
o_v_quant[2000] = 0
c = instance_count;
o_v_i = 0;
for (i=0; i<c; i+=1)
{
o_index = instance_find(all, i)
o_name = object_get_name(o_index.object_index)
// So coloco no vetor as NÃO repetidas
achou = false;
for (j=0; j<o_v_i; j+=1){
if (o_v_name[j] == o_name){
achou = true
}
}
if (!achou){
o_v_name[o_v_i] = o_name
o_v_quant[o_v_i] = instance_number(o_index.object_index)
draw_text(xx+64,yy+(o_v_i*32),"Objeto: " + o_v_name[o_v_i] + " = " + string(o_v_quant[o_v_i]))
o_v_i += 1
}
};