Obrigado por visitar a The Game Makers Brasil 😁 Use o fórum de Dúvidas para fazer perguntas. Se está em busca de aprender dê uma olhada nos tutoriais.

[GAME MAKER] Como calcular tempo de Download restante?

Perguntas? A comunidade te ajuda a resolver.
Avatar do usuário
Foxy Of Jungle
Programador
Programador
Reações: 0
Mensagens: 153
Localização: Brasil
Contato:

[GAME MAKER] Como calcular tempo de Download restante?

Mensagem por Foxy Of Jungle » Dom Jul 15, 2018 11:40 pm

Estou fazendo um Launcher para atualizações do meu jogo no Game Maker Studio, tudo funciona perfeitamente, como baixar o arquivo, etc.

Este site consegue calcular o tempo restante estimado para baixar o arquivo.

Qual o cálculo para obter o tempo estimado para acabar o download em Minutos? ou Segundos..

OBS: Eu tenho a taxa de transferência (KBPS), Tamanho do arquivo, e Tamanho baixado.
OBS2: Já olhei alguns sites mas não está muito claro para mim :/

Avatar do usuário
None
Colaborador
Colaborador
Reações: 2
Mensagens: 286

Re: [GAME MAKER] Como calcular tempo de Download restante?

Mensagem por None » Seg Jul 16, 2018 7:55 am

Se você olhar o código fonte da página que você deu o link é possível ver toda a formula que eles usaram.
Tutorial de jogo de plataforma completo: https://youtu.be/MMUy_bMKqPk
Como criar um jogo de RPG Japonês no estilo Final Fantasy https://goo.gl/efr6fx

Avatar do usuário
Foxy Of Jungle
Programador
Programador
Reações: 0
Mensagens: 153
Localização: Brasil
Contato:

Re: [GAME MAKER] Como calcular tempo de Download restante?

Mensagem por Foxy Of Jungle » Seg Jul 16, 2018 10:39 am

Obrigado por responder None, vlw por me lembrar do código fonte, porém não entendo de PHP kkk vou tentar traduzir o código!

Avatar do usuário
Curioso
Novato
Novato
Reações: 0
Mensagens: 13

Re: [GAME MAKER] Como calcular tempo de Download restante?

Mensagem por Curioso » Seg Jul 16, 2018 11:52 am

Olha, eu não sei como fazer isso no gamemaker, mas talvez isso possa lhe ajudar a desenvolver seu código:
Para saber o tempo estimado de download, basta dividir o tamanho do arquivo pela sua taxa de transferência. Exemplo:
Arquivo: 51200 KB (~50MB); Taxa: 800 Kbps (normalmente a taxa é dada em bits, por isso o "b" minúsculo).
Tempo estimado de download = 51200/800 = 64 segundos +/-
Caso vc queira saber sua taxa de download, basta dividir o valor da conexão por 8. Ex.: Para uma conexão de 10MB, vc deveria ter uma taxa de 1250Kbps mais ou menos.
Esse 8 é por causa da conversão de Byte para bit.

Avatar do usuário
Foxy Of Jungle
Programador
Programador
Reações: 0
Mensagens: 153
Localização: Brasil
Contato:

Re: [GAME MAKER] Como calcular tempo de Download restante?

Mensagem por Foxy Of Jungle » Seg Jul 16, 2018 12:27 pm

Curioso escreveu:Olha, eu não sei como fazer isso no gamemaker, mas talvez isso possa lhe ajudar a desenvolver seu código:
Para saber o tempo estimado de download, basta dividir o tamanho do arquivo pela sua taxa de transferência. Exemplo:
Arquivo: 51200 KB (~50MB); Taxa: 800 Kbps (normalmente a taxa é dada em bits, por isso o "b" minúsculo).
Tempo estimado de download = 51200/800 = 64 segundos +/-
Caso vc queira saber sua taxa de download, basta dividir o valor da conexão por 8. Ex.: Para uma conexão de 10MB, vc deveria ter uma taxa de 1250Kbps mais ou menos.
Esse 8 é por causa da conversão de Byte para bit.

Vlw por ajudar Curioso, eu só tenho um dúvida, o tamanho em questão é o tamanho do arquivo total né? não o baixado?
Eu tenho o tamanho em bytes, para converter basta dividir os bytes por 1024 duas vezes? ou multiplicar?

Meus Kbps varia entre 400 e 700 kbps (ja consegui calcular essa parte)

Avatar do usuário
None
Colaborador
Colaborador
Reações: 2
Mensagens: 286

Re: [GAME MAKER] Como calcular tempo de Download restante?

Mensagem por None » Seg Jul 16, 2018 1:16 pm

Você multiplica por 1024 em cada etapa até chegar em bytes, de bytes para bits você multiplica por 8

Exemplo
1gb - 1024mb
1mb - 1024kb
1kb - 1024 bytes
1byte - 8 bits
Tutorial de jogo de plataforma completo: https://youtu.be/MMUy_bMKqPk
Como criar um jogo de RPG Japonês no estilo Final Fantasy https://goo.gl/efr6fx

Avatar do usuário
Foxy Of Jungle
Programador
Programador
Reações: 0
Mensagens: 153
Localização: Brasil
Contato:

Re: [GAME MAKER] Como calcular tempo de Download restante?

Mensagem por Foxy Of Jungle » Seg Jul 16, 2018 1:28 pm

None, na verdade é de bytes para megabytes que eu preciso, acho que eu preciso dividir por 1024 duas vezes até chegar em MB, acho que é isso.

Avatar do usuário
AdrianoPpaula
Membro
Membro
Reações: 0
Mensagens: 59
Localização: Quissamã RJ

Contato:

Re: [GAME MAKER] Como calcular tempo de Download restante?

Mensagem por AdrianoPpaula » Seg Jul 16, 2018 2:42 pm

Existe uma função no HTTP Event chamanda sizeDownloaded
onde ele calcula o tamanho do arquivo baixado. Tinha um tópico no reddit de um usuário que estava fazendo um lancher também e ele usou isso para calcular os arquivos. Eu usei isso e conseguir fazer mostrar a porcentagem do arquivo que está sendo baixado....talvez ajude em alguma coisa kkk

//CREATE

Código: Selecionar todos

file=" LINK DO SEU ARQUIVO";
file_des=" PASTA DE DESTINO/ NOME DO ARQUIVO";
download =http_get_file(file_download,des)
//HTTP EVENT

Código: Selecionar todos

if ds_map_find_value(async_load,"id") = download {
   if ds_map_find_value(async_load,"status") = 1 {
      var size= ds_map_find_value(async_load,"contentLength");
      var progresso= ds_map_find_value(async_load,"sizeDownloaded")
   }
} 
// DRAW

Código: Selecionar todos

var percent = progresso/(size/100)
 draw_text(x,y,string(ceil(percent)) + "%");
Imagem

Avatar do usuário
Foxy Of Jungle
Programador
Programador
Reações: 0
Mensagens: 153
Localização: Brasil
Contato:

Re: [GAME MAKER] Como calcular tempo de Download restante?

Mensagem por Foxy Of Jungle » Ter Jul 17, 2018 10:46 am

Vlw pela ajuda AdrianoPpaula, mas como eu havia dito no primeiro post, eu já obtive as variáveis do: tamanho do arquivo, tamanho baixado e taxa de transferência. Eu só preciso saber o tempo que falta para acabar o download mas parece não funcionar corretamente usando o método do "Curioso".
Talvez porquê a taxa de bits varia, não sei..

Avatar do usuário
Curioso
Novato
Novato
Reações: 0
Mensagens: 13

Re: [GAME MAKER] Como calcular tempo de Download restante?

Mensagem por Curioso » Ter Jul 17, 2018 11:40 pm

Foxy Of Jungle escreveu:Vlw pela ajuda AdrianoPpaula, mas como eu havia dito no primeiro post, eu já obtive as variáveis do: tamanho do arquivo, tamanho baixado e taxa de transferência. Eu só preciso saber o tempo que falta para acabar o download mas parece não funcionar corretamente usando o método do "Curioso".
Talvez porquê a taxa de bits varia, não sei..
E ai, Foxy, conseguiu? para converter de byte para megabyte é do jeito que vc entendeu mesmo. Esse site pode lhe ajudar caso tenha mais alguma dúvida sobre isso.

É o tamanho do arquivo (em KB) dividido pela taxa de transferência corrente (em Kbps), que varia mesmo. Imagino que vc tenha que ter uma média da taxa, senão o tempo estimado vai variar muito. Nesse caso, arquivo restante (e não o arquivo baixado) dividido pela taxa corrente.

Para achar o valor da taxa de download, divida o valor da conexão (em KB) por 8,192. E não por 8, como eu havia dito

Avatar do usuário
Foxy Of Jungle
Programador
Programador
Reações: 0
Mensagens: 153
Localização: Brasil
Contato:

Re: [GAME MAKER] Como calcular tempo de Download restante?

Mensagem por Foxy Of Jungle » Qua Jul 18, 2018 9:52 pm

Eu consegui mas fica variando muito e acaba não ficando legal, a não ser que eu use alarmes para atualizar o valor, mas decidi não usar isso, não é muito necessário.
Obrigado por me ajudarem!

Responder

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado e 2 visitantes