There's no simple rule on the relative performance between windowed and fullscreen, because it depends what you mean by fullscreen, and what the size of the app's window is relative to the desktop.
fullscreen can be done a few different ways: A) changing the output resolution to the desired size, and grabbing exclusive video access B) changing the output resolution to the desired size, and just making the window fill the whole screen C) leaving the desktop resolution as is, and scaling the window up to whatever the desktop is In terms of performance, A is usually the fastest, B is also usually fast, but can be slightly slower if other apps are doing things, and C can be *much* slower than a windowed app (since it can end up pushing dramatically more pixels). A and B can also change the color depth to what the app likes best (16 vs. 24. vs 32), which usually doesn't matter these days, but can have a significant performance impact, if your bottleneck is fill rate on rendering to the back buffer. Providing you don't have any bit-depth problems, a windowed app can perform exactly as well as B, if it is close to the same size as the screen (should make sense, as if it's exactly the same size as the screen, and has no frame, it *is* the same as B), but as the surrounding desktop gets bigger, the video card has to deal with those surrounding pixels in addition to your windowed app. One generalization you can make is that fullscreen of type A & B (changing the resolution) has significant performance benefits on big screens, and not really on smaller screens - however like you said fullscreen can cause stability problems. On windows and mac, pygame's normal fullscreen is A, and can be susceptible to the same debug and crash problems with a fullscreen app locking up your system that you describe on Linux. On mac in particular, type A (exclusive fullscreen mode) actually blocks alt-tab as well, which means a hung or unresponsive app can hang up the system as well, which sucks. On Mon, Jul 4, 2011 at 12:21 PM, James Mazer <james.ma...@yale.edu> wrote: > I've always been under the impression pygame+GL performance was > substantially better when running with the FULLSCREEN flag > set. However, recently, I started playing around with NOFRAME windows > fit to the monitor size and found no big performance hit. > > Is this generally the experience of most people? Is it generally safe > with modern video cards to assume that windowed & fullscreen modes > give you similar to performance levels for pygame+GL? This is for an > app that uses mostly GL on top of pygame and runs with > __GL_SYNC_TO_VBLANK set. > > Under linux, fullscreen debugging can be dangerous (it's too easy for > a bug to lock up the machine requiring a reboot/xserver-restart), so it > would be nice to not use it -- my app has a scripting language, so > even with a bug-free production version a user can lock up the > screen, so just using windowed mode for testing's not sufficient.. > > Thanks, > /jamie > > -- > James Mazer > Department of Neurobiology > Yale School of Medicine > phone: 203-737-5853 > fax: 203-785-5263 >