Для повышения производительности не создавайте шлифовку в каждом кадре.
Создайте pygame.Surface
с размером окна и нарисуйте сетку на этой поверхности:
grid_surf = pygame.Surface((screen_width,screen_height))
drawGrid(grid_surf)
Эта поверхность является фоном для вашей сцены. blit
в начале каждого кадра:
screen.blit(grid_surf, (0, 0))
Пример кода:
import pygame
import random
pygame.init()
pygame.font.init()
screen_width = 500
screen_height = screen_width
screen = pygame.display.set_mode((screen_width,screen_height))
pygame.display.set_caption("Snake GaMe By Akila")
def drawGrid(surf):
grid_list = []
blockSize = 25
for x in range(screen_width):
for y in range(screen_height):
rect = pygame.Rect(x*blockSize, y*blockSize, blockSize, blockSize)
pygame.draw.rect(surf, (255,255,255), rect, 1)
grid_surf = pygame.Surface((screen_width,screen_height))
drawGrid(grid_surf)
running = True
while running:
screen.blit(grid_surf, (0, 0))
for event in pygame.event.get():
if event.type == pygame.QUIT:
running = False
pygame.display.update()