• [^] # Re: p-e conso mémoire ?

    Posté par . En réponse au message pygame subsurface, dans quels cas peuvent-elles être utiles ?. Évalué à 2. Dernière modification le 13 juin 2025 à 10:41.

    Merci du lien =)

    J'ai un peu testé ce que ça peut donner en mémoire, et y a quoi ? Peut-être 1 % de plus en conso mémoire avec un blit de la zone spécifiée par rapport à une subsurface, c'est quand même très peu, je trouve, pour une image de 300 x 300 changeant 10 fois par seconde.

    J'ai simplement regardé la consommation en mémoire via le moniteur système de Mate.

    Testé avec ce simple script :

    import random
    import pygame as pg
    import itertools
    pg.init()
    screen = pg.display.set_mode((600, 600))
    surf = pg.Surface((3000, 3000)).convert()
    coords = tuple(
     (x, y)
     for x in range(0, 3000, 300)
     for y in range(0, 3000, 300)
    )
    for coord, color in zip(coords, random.sample(tuple(pg.color.THECOLORS), 100)):
     surf.fill(pg.color.THECOLORS[color], (*coord, 300, 300))
    cycle_anim = itertools.cycle(coords)
    subsurf_rect = pg.Rect(0, 0, 300, 300)
    EVENT_ANIM = pg.USEREVENT
    pg.time.set_timer(EVENT_ANIM, 100)
    clock = pg.time.Clock()
    running = True
    while running:
     for event in pg.event.get():
     if event.type == pg.QUIT:
     running = False
     elif event.type == EVENT_ANIM:
     subsurf_rect.topleft = next(cycle_anim)
     screen.blit(surf.subsurface(subsurf_rect), (150, 150))
     # screen.blit(surf, (150, 150), subsurf_rect)
     pg.display.flip()
     clock.tick(30)
    pg.quit()

    Il suffit d'inverser la ligne commentée pour comparer les consommations en mémoire.