Using PyGame, I get flickering things. Boxes, circles, text, it all flickers. I can reduce this by increasing the wait between my loop, but I though maybe I could eliminate it by drawing everything to screen at once, instead of doing everything individually. Here’s a simple example of what happens to me:
import pygame, time
pygame.init()
screen = pygame.display.set_mode((400, 300))
loop = "yes"
while loop=="yes":
screen.fill((0, 0, 0), (0, 0, 400, 300))
font = pygame.font.SysFont("calibri",40)
text = font.render("TextA", True,(255,255,255))
screen.blit(text,(0,0))
pygame.display.update()
font = pygame.font.SysFont("calibri",20)
text = font.render("Begin", True,(255,255,255))
screen.blit(text,(50,50))
pygame.display.update()
time.sleep(0.1)
The “Begin” button flickers for me. It could just be my slower computer, but is there a way to reduce or eliminate the flickers? In more complex things I’m working on, it gets really bad. Thanks!
I think part of the problem is you’re calling ‘pygame.display.update()’ more then once. Try calling it only once during the mainloop.
Some other optimizations:
loop = Truerather thenloop = "yes"So…