def blit_convert(dst_sfc, board):
dst_ary = pg.surfarray.pixels2d(dst_sfc)
src_ary = np.asarray(board, dtype=np.uint8)
dst_ary[...] = src_ary
del src_ary
del dst_ary
вызывается с:
dst_sfc = pg.Surface((width, height), 0, 8)
board = np.zeros((width, height), dtype=np.uint16)
python 2.5.2, выпуск pygame 1.7.1, numpy 1.1.0
изменение:
src_ary = np.asarray(board, dtype=np.uint8)
до:
src_ary = board.astype(np.uint8)
замедляет утечку памяти на 42%