[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]

[pygame] Is Pygame suitable for full HD games?



(I sent this earlier but I forgot to subscribe to the original mailing
list)

Hi all! I'm currently developing a 2D platformer (well, actually I
started it a lot of years ago with another language, but I got stuck
and stopped developing, and now I've rebooted the project with
Pygame), and I'd like it to be something like Sonic or some other
great platformers from the 16-bit era, specially from Sega Genesis
(Dynamite Headdy, Rocketknight Adventures, Ristar...) but in full HD.

Yesterday I finished the tiled background engine, and I've noticed a
15 fps drop in 1920x1080. And when I added a 5 planes parallax scroll,
fps are going down to 10-20. I doubt it's the machine, as I play games
like Starcraft in Ultra settings on it. Also, I'm noticing most games
developed with Pygame are 640x480 or 800x600. So the question would
be: is Pygame suitable for doing a full HD side-scrolling platformer?

My current approach is to render all scrolls planes and the tiled
background to a single surface (the ".image" of my Stage class),
instead of rendering each one in different planes. I haven't tried
separating yet, but I doubt it will improve performance, as the
blitting will be the same. Am I wrong?

I've read the Surface.blit() function is somehow slow and shouldn't be
overused, but I don't know another way of rendering images to the
screen. I tried using flags "HWSURFACE | DOUBLEBUF | FULLSCREEN" and
it increased 2-3 fps. Am I missing some other optimization or am I
just using the wrong engine for an HD platformer?

Thanks a lot in advance.