Мой анализ состоит в том, что ваше заполнение, то есть turtle.begin_fill()
и turtle.end_fill()
, замедляет код 3X до реального эффекта.Одно из этих изображений - с заполнением, одно - без :
Если вы не можетеоцените разницу (даже в полном размере), тогда заполнение, вероятно, просто пустая трата времени.Если вы просто хотите получить окончательное изображение и не заботитесь о том, чтобы оно было нарисовано, для большей производительности я предлагаю что-то вроде:
from turtle import Screen, Turtle
screen = Screen()
screen.bgcolor("Red")
screen.tracer(False)
turtle = Turtle(visible=False)
turtle.color("Yellow", "Pink")
for heading in range(0, 360, 90):
turtle.setheading(heading)
turtle.begin_fill()
while True:
turtle.forward(300)
turtle.left(179)
turtle.circle(20)
if abs(turtle.pos()) < 1:
break
turtle.end_fill()
screen.tracer(True)
screen.mainloop()