Форум сайта python.su
0
Доброго времени суток!
Как эффективно отрисовать массив точек на каждой итерации? Приведу пример:
import pygame import random # Window dimensions width = 640 height = 400 screen = pygame.display.set_mode((width, height)) clock = pygame.time.Clock() running = True while running: for i in range(0,width*height): x = random.randint(0, width-1) y = random.randint(0, height-1) red = random.randint(0, 255) green = random.randint(0, 255) blue = random.randint(0, 255) screen.set_at((x, y), (red, green, blue)) for event in pygame.event.get(): if event.type == pygame.QUIT: running = False pygame.display.flip() clock.tick(240)
Офлайн
88
Если важен эффект, а не его математическая достоверность, тогда можно залить случайными точками несколько спрайтов и замащивать ими экран, вибирая из набора случайно. Спрайты можно даже сделать размером с экран.
Офлайн
0
Shaman
ммм… тут дело не в математической достоверности или еще чем-то. Просто странно, что достаточно простая операция так убивает ФПС. Если запустить данный код, то ФПС будет равен 0! Может какие другие библиотеки использовать?
Офлайн
88
Ничего странного. Отрисовка поточечно убивает фпс на всех системах.
Офлайн
0
Shaman
кроме спрайтов есть еще варианты решения проблемы?
Офлайн
88
Попробовать забивать экранный буфер рандомом.
Офлайн