Velocità del disegno

delay() - hideturtle() - showturtle() - speed() - time.sleep() - tracer() - update()

FunzioneArgomentiValore?
delay()numeroRestituisce il tempo (ms) di pausa tra due operazioni grafiche consecutive
delay(...)numeroImposta il tempo (ms) di pausa tra due operazioni grafiche consecutive
hideturtle()La tartaruga diventa “invisibile”.
showturtle()La tartaruga ritorna “visibile”.
speed()numeroRestituisce la velocità di disegno (1, …, 10, 0)
speed(...)numeroImposta la velocità di disegno (1, …, 10, 0)
speed(...)speedImposta la velocità di disegno (1, …, 10, 0) con il parametro con nome
tracer()numeroRestituisce il numero di passi grafici tra una pausa e l’altra
tracer(...)numeroImposta il numero di passi grafici tra una pausa e l’altra
tracer(...)numero
numero
Imposta il numero di passi grafici tra una pausa e l’altra e la durata (ms) della pausa
update()Aggiorna la finestra grafica (necessario se utilizzi tracer(0,0) prima)

Impostazioni di default

Le impostazioni di default prevedono che la tartaruga sia visibile (sotto forma di una freccia) e che tra un tratto grafico e il successivo ci sia una certa pausa

import turtle

print(turtle.delay()    )  # 10 (millisecondi)
print(turtle.isvisible())  # True
print(turtle.shape()    )  # classic
print(turtle.speed()    )  # 3

Più veloce?

In alcuni casi potresti avere bisogno di migliorare le prestazioni

  • i tempi di realizzazione di un disegno sono troppo lunghi
  • non sei interessato a evidenziare i singoli passi della tartaruga
  • non sei interessato a vedere la tartaruga

Metodo 1

Elimina l’animazione dell’immagine della tartaruga durante il disegno

turtle.hideturtle()

Metodo 2

Diminuisci la pausa tra un passo e il successivo, aumentando la velocità (da 1 a 10, oppure 0…)

turtle.speed(1)   # “slowest”
turtle.speed(3)   # “slow” 
turtle.speed(6)   # “normal”
turtle.speed(10)  # “fast”

turtle.speed(0)   # “fastest”

Metodo 3

Diminuisci il tempo di pausa tra due operazioni grafiche consecutive

turtle.delay(10)  # 10 ms di pausa

Metodo 4

Imposta il numero di passi grafici tra una pausa e l’altra

turtle.tracer(5, 10)  # Esegue 5 passi (invece di 1) e dopo 10 ms di pausa

Metodo 5

Elimina sia passi che pause

turtle.tracer(0, 0)
...

e richiama l’aggiornamento della finestra solo alla fine delle operazioni

...
turtle.update()

Metodo 6

Se vuoi aggiungere una pausa alla fine di ogni fase di disegno utilizza time.sleep()

import time

...
turtle.update()
time.sleep(1000)  # 1000 ms, un secondo di pausa
...

5 commenti su “Velocità del disegno”

  1. from turtle import Turtle

    bob = Turtle()
    bob.pensize(1)
    bob.fillcolor(“yellow”)

    def Orizzontali(t, n, lunghezza):
    bob.color(“red”)
    for i in range(n):
    t.fd(lunghezza)
    t.lt(90)
    t.fd(10)
    t.lt(90)
    t.fd(lunghezza)
    t.rt(90)
    t.fd(10)
    t.rt(90)
    t.fd(lunghezza)
    t.lt(90)
    t.fd(10)
    t.lt(90)
    t.fd(lunghezza)
    t.rt(90)
    t.fd(10)
    t.rt(90)
    ###
    def Verticali(t, n, lunghezza):
    bob.color(“blue”)
    for i in range(n):
    t.rt(90)
    t.fd(lunghezza)
    t.lt(90)
    t.fd(10)
    t.lt(90)
    t.fd(lunghezza)
    t.rt(90)
    t.fd(10)
    t.rt(90)
    t.fd(lunghezza)
    t.lt(90)
    t.fd(10)
    t.lt(90)
    t.fd(lunghezza)
    t.rt(90)
    t.fd(10)

    #-27 x 24 bxh
    bob.hideturtle()
    bob.speed(0)
    bob.color(“red”)
    #bob.fillcolor(“yellow”)
    bob.begin_fill()
    Orizzontali(bob,6, 270) # lati, lunghezza
    Verticali(bob,7, 240) # lati, lunghezza

    bob.color(“black”)
    bob.rt(180)
    bob.fd(280)
    bob.lt(90)
    bob.fd(240)
    bob.lt(90)
    bob.fd(270)
    bob.lt(90)
    bob.fd(240)

    Rispondi

Lascia un commento