Ich entwickle ein einfaches Kachel-Spiel, das ein Rasterbild anzeigt und es mit aufeinanderfolgenden Schichten von Bildern malt. So haben- ichPygame: langsame Leistung mit pygame.Surface und convert_alpha()
list_of_image_tiles = { GRASS: pygame.image.load('/grass.png').convert_alpha(), TREES: pygame.image.load('/trees.png').convert_alpha(), etc}
Dann später blitten ich these-
DISPLAYSURF.blit(list_of_images[lists_of_stuff][TREES], (col*TILESIZE,row*TILESIZE))
DISPLAYSURF.blit(list_of_images[lists_of_stuff][GRASS], (col*TILESIZE,row*TILESIZE))
Beachten Sie, dass der Kürze halber habe ich nicht viel Code enthalten, aber es ist im Grunde Werk außer Leistung quälend langsam ist. Wenn ich die DISPLAYSURF-Stuff-Performance ausspringe, springt die Performance nach vorne, also denke ich, dass ich einen besseren Weg brauche, um das DISPLAYSURF-Zeug oder möglicherweise die pygame.image.load-Bits (is convert_alpha()) zu machen -Image-Ansatz?)
Ich lese etwas namens psycho könnte helfen, aber nicht sicher, wie man das passt. Irgendwelche Ideen, wie die Leistung am besten zu verbessern.
Danke für die Anregung, können Sie mir zeigen etwa, was diese beiden Ansätze wie Syntax in Bezug auf meine Code weise aussehen könnte? – SamChancer
hinzugefügt Beispiel von 1. Für Nummer 2, es hängt völlig davon ab, wie Sie wissen, was zu zeichnen ist und erfordert oft, dass Sie Ihr Spiel erstellen, das Update 'Rect' zurückgibt, so dass Sie Ihre Liste erstellen können, um an 'screen.update()' übergeben . – cmd
Vielen Dank, ich kann das Beispiel mit dem, was ich bisher gebaut habe, eine große Hilfe sein. – SamChancer