The framerate becomes too slow when I draw polygons

OS (e.g. Win11):
PsychoPy version (e.g. 23.2.3.x):

the update times for each frame become every 60 ms when I draw the polygons, making the presentation times inadequate.
How can I make everything more efficient?
(n is a list of 40 different polygons and circles is a list of 8 circles)
(f and d were set to 0 previously)

print(str(frameN), t)
if t < time_plolygons and f == 0:

    for n in list_polygons:
        n.setAutoDraw(True)
    for n in list_intern_pol:
        n.setAutoDraw(True)
    f = 1
elif t >= time_plolygons and  f==1 :

    for n in list_polygons:
        n.opacity = 1
    for n in list_intern_pol:
        n.opacity = 1

    f = 2

if t < time_4dots and d == 0:
    for circle in circles_dx:
        circle.setAutoDraw(True)
    for circle in circles_sx:
        circle.setAutoDraw(True)
    d = 1
elif t >= time_4dots and  d == 1 :
    for circle in circles_dx:
        circle.opacity = 1
    for circle in circles_sx:
        circle.opacity = 1
    d = 2