Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Pygame optimizacija

[es] :: Python & Zope :: Pygame optimizacija

[ Pregleda: 655 | Odgovora: 6 ]

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

StefanJer91
Stefan Jeremic
Beograd

Član broj: 121923
Poruke: 125
*.kalik.info.



Profil

icon Pygame optimizacija05.06.2007. u 17:21

Danas sam pravio jedan mali test kako bih video kakva je razlika kada u pygame-u koristim tehniku poznatu kao dirtyrect(update-ovanje samo delova ekrana koji su se promenili) i kada koristim update-ovanje citavog ekrana. Po logici i mom skromnom, bi trebalo da je prvi nacin svakako optimizovaniji, da jede manje memorije i trosi manje CPU usage (sve podatke sam pokupio iz task managera) ali nije tako! Ustvari, drugi nacin zahteva neznatno manje memorije i CPU usage je tom prilikom manji. Da li onda neko zna zasto je bojle korisiti dirtyrects ili neku drugu tehniku???
05.06.2007. u 17:21 

Radoyitza
Zagreb

Član broj: 57962
Poruke: 15
*.dsl.iskon.hr.



Profil

icon Re: Pygame optimizacija05.06.2007. u 23:34
Citat:
Po logici i mom skromnom, bi trebalo da je prvi nacin svakako optimizovaniji, da jede manje memorije i trosi manje CPU usage
pa, trebalo bi bit tako u svakom slučaju...

hm, pada mi na pamet samo ovaj razlog zašto to nije tako u tvom primjeru:
možda imaš jako puno sprite-ova, tj. rectangle-ova za prikazat
pa je procesoru 'lakše' prikazat cijeli ekran nego iterirat nad svim tim komadićima ekrana

ali ja sam isto početnik u PyGame-u tako da je ovo samo pretpostavka...


e, da, jesi koristio 'pygame.display.update()' ili 'pygame.display.flip()' za prikaz cijelog ekrana?

Tumbling down the rabbit hole...
05.06.2007. u 23:34 

StefanJer91
Stefan Jeremic
Beograd

Član broj: 121923
Poruke: 125
*.kalik.info.



Profil

icon Re: Pygame optimizacija06.06.2007. u 13:09
Ima samo jedan sprite :) Prvi put kada sam blitovao background sam stavio da bude pygame.display.flip() a u petlji while sam koristio pygame.display.update(dirtyrects). U sustini, sledio sam primer oldalien.py primera koji se nalazi sa ostalim example-ima koji se dobijaju uz python.
06.06.2007. u 13:09 

Radoyitza
Zagreb

Član broj: 57962
Poruke: 15
*.dsl.iskon.hr.



Profil

icon Re: Pygame optimizacija06.06.2007. u 19:58
jesi li u while petlji koristio flip() ili update() (naravno, za prikaz cijelog ekrana - bez argumenata)?

btw. display.flip() prije while petlje nema nikakvog uticaja na performanse (poziva se samo jedanput)
Tumbling down the rabbit hole...
06.06.2007. u 19:58 

StefanJer91
Stefan Jeremic
Beograd

Član broj: 121923
Poruke: 125
*.kalik.info.



Profil

icon Re: Pygame optimizacija06.06.2007. u 21:16
display.flip() je pre while petlje dok je display.update(dirtyrects) u njoj.
06.06.2007. u 21:16 

StefanJer91
Stefan Jeremic
Beograd

Član broj: 121923
Poruke: 125
*.kalik.info.



Profil

icon Re: Pygame optimizacija07.06.2007. u 22:17
Offtopic: Da li neko pravi neku igru ili nesto drugo u pygame-u???
07.06.2007. u 22:17 

Radoyitza
Zagreb

Član broj: 57962
Poruke: 15
*.dsl.iskon.hr.



Profil

icon Re: Pygame optimizacija11.06.2007. u 03:26
Citat:
display.flip() je pre while petlje dok je display.update(dirtyrects) u njoj.

pa display.update() će prikazat cijeli ekran samo ako ga pozoveš bez argumenata!!!

Citat:
Offtopic: Da li neko pravi neku igru ili nesto drugo u pygame-u???

ja radim igru u pygame-u
zove se "Think Columns" i bazirana je na starom Seginom klasiku "Columns"
'playable' je, sad slijedi dorada... puno dorade...
Tumbling down the rabbit hole...
11.06.2007. u 03:26 

[es] :: Python & Zope :: Pygame optimizacija

[ Pregleda: 655 | Odgovora: 6 ]

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.