Performance problems identified

I have tracked down the performance problems with my game to Pyglet's use of VBOs. It turns out these are dreadfully slow on my machine - a Radeon HD 4850 on Ubuntu Jaunty - and disabling them globally makes the game run much faster. I have thus added a commandline switch (--novbo) to my game to disable VBOs. If my game is giving performance problems, try this first; if it turns out you are still having performance problems, you may be fill-rate bound, in which case you can try reducing the window size (-d option).

I don't have access to enough machines to know whether VBOs are best to default to on or off. I would be very grateful if you could let me know whether it runs faster with VBOs on or off, and on what OS and hardware (the -r option shows framerate).

This also explains why so many pyglet games run like a slideshow for me. I thought they were just buggy.

(log in to comment)

Comments

There is a pyglet environment variable for this purpose (to work around buggy / otherwise crap OpenGL implementations like yours).

Set PYGLET_GRAPHICS_VBO=FALSE

Also, try upgrading your video drivers. It always helps to have the latest.
Also, try upgrading your video drivers. It always helps to have the latest.

Well, not quite always... I once tried to upgrade the driver on a rather old Windows 2000 installation with Intel graphics, and the result was that OpenGL stopped working altogether. :-(
Ah! Thanks, that is the solution I need for testing other Pyglet games on my desktop machine.

I can't actually find much info on VBO problems with ATI cards under Linux. I've found upgrading ATI drivers painful compared to Nvidia, so I'd like to know more about what upgraded drivers would offer before wrestling with it.
ATI under Linux is a just plain sad state of affairs :-(
Agreed... I didn't want an ATI card, having always stuck with Nvidia. But the shop I go to wasn't selling any machines with Nvidia cards at the time, and I thought "how bad can ATI drivers be these days?"
I remember doing that once -- for my latest Home Theatre PC box actually. I now run Windows 7 on it :-(