Thread View: pl.comp.lang.python
4 messages
4 total messages
Started by Parasit
Sat, 12 Oct 2013 21:21
pygame i wielkość obrazka
Author: Parasit
Date: Sat, 12 Oct 2013 21:21
Date: Sat, 12 Oct 2013 21:21
25 lines
1946 bytes
1946 bytes
Witam, Mam pytanie do znawców pygame, jak mogę uzyskać wielkość (w kb) obrazka wczytanego i skonwertowanego przez pygame? Chciałbym wiedzieć ile pamięci zajmują mi aktualnie wszystkie wczytane obrazki. Robię coś takiego: aa = pygame.image.load(filename).convert() print sys.getsizeof(aa) i dostaję "64" niezależnie od wielkości pliku. A wiem że jeden obrazek ma 32kb a drugi 1,9mb, więc podejrzewam że to wielkość jakiegoś wskaźnika a nie samego obrazka Jedyne co "wymyśliłem" to zrzucić to do stringa: print "Size %d" % sys.getsizeof(pygame.image.tostring(aa, "RGBA")) Dostałem odpowiednio: Size 637 Size 39923749 38mb? Też coś nie bardzo, jak to ogarnąć? Pozdrawiam Parasit
Re: pygame i wielkość obrazka
Author: Mikolaj Machowski
Date: Sun, 13 Oct 2013 08:27
Date: Sun, 13 Oct 2013 08:27
31 lines
2158 bytes
2158 bytes
Parasit napisał: > Witam, > Mam pytanie do znawców pygame, jak mogę uzyskać wielkość (w kb) obrazka wczytanego i skonwertowanego przez pygame? Chciałbym wiedzieć ile pamięci zajmują mi aktualnie wszystkie wczytane obrazki. > > Robię coś takiego: > > aa = pygame.image.load(filename).convert() > print sys.getsizeof(aa) > > i dostaję "64" niezależnie od wielkości pliku. > > A wiem że jeden obrazek ma 32kb a drugi 1,9mb, więc podejrzewam że to wielkość jakiegoś wskaźnika a nie samego obrazka > > Jedyne co "wymyśliłem" to zrzucić to do stringa: > > print "Size %d" % sys.getsizeof(pygame.image.tostring(aa, "RGBA")) > > Dostałem odpowiednio: > > Size 637 > Size 39923749 > > 38mb? Też coś nie bardzo, jak to ogarnąć? W jakim formacie są obrazki? Jeśli JPG to do 'obróbki' w pamięci komputer musi rozpakować go do bitmapy i ta wielkość się liczy. Bitmapa 20x większa od JPG to sporo (przy dobrej jakości kompresji różnica jest zazwyczaj 10x), ale nie niemożliwe. Być może pygame z jakichś powodów przechowuje bitmapę dwukrotnie? m.
Re: pygame i wielkość obrazka
Author: Parasit
Date: Thu, 17 Oct 2013 16:47
Date: Thu, 17 Oct 2013 16:47
11 lines
1971 bytes
1971 bytes
W dniu niedziela, 13 października 2013 10:27:48 UTC+2 użytkownik Mikolaj Machowski napisał: > W jakim formacie są obrazki? Jeśli JPG to do 'obróbki' w pamięci > komputer musi rozpakować go do bitmapy i ta wielkość się liczy. Bitmapa > 20x większa od JPG to sporo (przy dobrej jakości kompresji różnica jest > zazwyczaj 10x), ale nie niemożliwe. Być może pygame z jakichś powodów > przechowuje bitmapę dwukrotnie? Ten duży to był rzeczywiście jpg, ale ten mały to był png. Tak czy inaczej sprowadzanie obiektu do tekstu to chyba nadal kiepski pomysł na sprawdzenie zajętości pamięci :/ Pozdrawiam
Re: pygame i wielkość obrazka
Author: AK
Date: Thu, 17 Oct 2013 19:56
Date: Thu, 17 Oct 2013 19:56
15 lines
1527 bytes
1527 bytes
Użytkownik "Parasit" <bartosz.bubak@gmail.com> napisał:
> Ten duży to był rzeczywiście jpg, ale ten mały to był png.
> Tak czy inaczej sprowadzanie obiektu do tekstu to chyba
> nadal kiepski pomysł na sprawdzenie zajętości pamięci :/
Spróbuj:
view = memoryview(obrazek)
print len(view)
PS: 'obrazek' musi wspierac "buffer protocol"
Nie uzywam pygame wiec nie jestem w stanie sprawdzic czy wspiara/zadziala.
AK
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads