Jump to content

Skript laga? #3 - Os loops causam lag em seu código???


danielzinh
 Share

Recommended Posts

Aos poucos, vamos quebrar a lenda que o Skript pode lagar.

 

os códigos estarão todos listados no tópico, você mesmo pode testar.

 

Afinal, de onde saiu essa lenda?: Há muito tempo atrás, um youtuber resolveu criar um servidor inteiro usando Skript, até ai tudo bem, o skript não laga se você souber usar, porém, o cidadão usava códigos extremamente mal otimizados, sem nem colocar um "else" (para vocês verem). e dai, o vídeo explodiu com a fama de que o Skript laga.

 

Hardware usado:

- Processador: A4-7300 (2c-2t)

- 8GB RAM DDR3

 

Breve explicação: com o tempo que aprendi sendo um criador profissional de códigos, eu sei e posso AFIRMAR que loops não lagam se usado com carinho e cuidado, e vou provar isso nesse código aqui!

Além de provar, vou mostrar um jeito ótimo de se otimizar seus loops, e também mostrar cuidados e o que se deve e não se deve fazer.

 

O que você deve usar:

Não use:

Por favor, registre-se ou entre para visualizar isso.

Use:

Por favor, registre-se ou entre para visualizar isso.

Qual a diferença?

O primeiro código da um loop em todos os blocos em um raio ESFÉRICO de 30 blocos, isso causa lag se dentro desse loop possuir muitos códigos.

O segundo código da um loop só nos blocos entre o bloco {_loc1} e o {_loc2}, assim você pode controlar o loop, fazer com que ele dê loop em uma área quadrada, ou até mesmo de uma só camada, sendo um loop horizontal.

-------------------------

Não use:

Por favor, registre-se ou entre para visualizar isso.

Use:

Por favor, registre-se ou entre para visualizar isso.

Qual a diferença?

Usar loops abaixo de um segundo (<=19 ticks) pode prejudicar seu server, além do lag absurdo, não há nenhuma necessidade de se usar um every tão baixo.

O segundo loop é um every ideal para seu servidor, mas não exagerem, o recomendado é no mínimo um segundo de every para cada 75 linhas de código para evitar lag.

-------------------------

Não use:

Por favor, registre-se ou entre para visualizar isso.

Use:

Por favor, registre-se ou entre para visualizar isso.

Qual a diferença?

Eu percebi que quanto maior o tamanho da linha do código, maior o tempo de recarga do Skript, por isso, evitem o máximo usar linhas grandes de código, encurtem o máximo que puderem!

-------------------------

Loops lagam?

siga o código a seguir:

Por favor, registre-se ou entre para visualizar isso.

Apesar de ter um loop grande (50 blocos) ali, ele não possui nada dentro dele, quantos segundos você acha que esse comando demorará para carregar? (o código já contém um temporizador que diz o tempo que ele demorou para carregar)

Comando executado: image.png.c2d3120cf87f4457e1d12bcf06bb6da0.png

 

Pois é, amigos. O comando demorou 0.3 segundos para executar, isso já quebra TOTALMENTE o mito de que loops lagam.

Ok, eu sei que terá gente que irá reclamar que só um loop não é o suficiente pra um teste...

Então vamos aumentar esse loop

Por favor, registre-se ou entre para visualizar isso.

esse código conta quantas terras tem no raio do loop

Comando executado: image.png.d626ebedf983da73eaa54cc066314e3b.png

 

Legal, o tempo aumentou razoavelmente, mas para um loop de 50 blocos com um if de comparação e uma adição a uma variável eu acho um tempo super justo. Então não amigos LOOPS NÃO LAGAM (se usados de forma correta e otimizada)

-------------------------

Linhas grandes travam?

não exatamente, só aumenta (E MUITO) o tempo de recarga do seu código, vamos a um exemplo:

Por favor, registre-se ou entre para visualizar isso.

Apenas um comando simples, não? demorou apenas image.png.3d0aa773459cf939fb41ac281843211a.png para carregar.

 

Agora:

Por favor, registre-se ou entre para visualizar isso.

Legal, não? DEMOROU MAIS DE UM SEGUNDO PARA CARREGAR SÓ POR CAUSA DE UMA LINHA!!    image.png.342f54e70fe980c6370a4eb3da4266f4.png

 

NÃO ACREDITA? TESTE VOCÊ MESMO.

Por favor, registre-se ou entre para visualizar isso.

código completo incluindo o temporizador.

 

ACABEI DE PROVAR AQUI QUE... O SKRIPT EM SI NÃO LAGA, SÓ LAGA SE VOCÊ EXAGERAR E FAZER MERDA!

 

 

 

é isso pessoal, vejo vocês no próximo capitulo dessa "série".

 

Confira nossos outros tópicos dessa série:

Skript laga #1 - Por favor, registre-se ou entre para visualizar isso.

 

Skript laga #2 - Por favor, registre-se ou entre para visualizar isso.

Por favor, registre-se ou entre para visualizar isso.

Por favor, registre-se ou entre para visualizar isso.

Por favor, registre-se ou entre para visualizar isso.

Link to comment
Share on other sites

O tempo que o Skript leva para carregar os arquivos na inicialização não vai mudar absolutamente nada, tem que ser levado o tempo que demora pra executar cada código com o servidor rodando...

Link to comment
Share on other sites

8 minutos atrás, gabrielv disse:

O tempo que o Skript leva para carregar os arquivos na inicialização não vai mudar absolutamente nada, tem que ser levado o tempo que demora pra executar cada código com o servidor rodando...

Olá, durante o teste foi feito o teste ao executar cada código como na print:

image.png.ce4e3f0f965f0c4c322f9498c42aed0e.png

 

 

Você deve estar se referindo ao teste de tamanho de linhas, eu deixei claro que era o tempo de inicialização.

 

E mesmo assim, aumentou 1 segundo de recarga com uma só linha de código mal-otimizada, imagina um skript completamente mal feito? não quero nem pensar.

Link to comment
Share on other sites

Em 02/04/2021 em 22:16, gabrielv disse:

O tempo que o Skript leva para carregar os arquivos na inicialização não vai mudar absolutamente nada, tem que ser levado o tempo que demora pra executar cada código com o servidor rodando...

eu estou tentando explicar isso faz tempo mas kkkkkkk

ele não aprende

Link to comment
Share on other sites

16 minutos atrás, RektByDead disse:

eu estou tentando explicar isso faz tempo mas kkkkkkk

ele não aprende

 

Em 02/04/2021 em 18:26, danielzinh disse:

Olá, durante o teste foi feito o teste ao executar cada código como na print:

Por favor, registre-se ou entre para visualizar isso.

 

 

Você deve estar se referindo ao teste de tamanho de linhas, eu deixei claro que era o tempo de inicialização.

 

E mesmo assim, aumentou 1 segundo de recarga com uma só linha de código mal-otimizada, imagina um skript completamente mal feito? não quero nem pensar.

 

Aprenda a ler o tópico antes de comentar asneira, por favor.

Edited by danielzinh
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...