[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [pygame] Display tutorial



> Just finished reading the display tutorial, Pete - great work! You
> covered all the bases very well, and the writing was excellent.
> 
> One note - you mentioned that in fullscreen modes...

Thanks david. Those little tutorials are a lot tougher to write
than it would seem. I'm looking at a couple more on mixer/music
basics, and perhaps expanded help on importing and initializing.
Anyone know of any specific areas where more documentation would
be really helpful? Perhaps a numeric python & pygame intro?


I wasn't going to mail out about the new docs until tonight, but
you sneaked to the website early and saw the news, heh. I've just
checked in a batch of stuff i've been working on into CVS. Here's
what you get from the "WhatsNew"


these are the changes since the 0.2 release 9 days ago..

     Nov 14, 2000
 Release the Python Global Interpreter Lock on delays and IO
 Added timer events to pygame.time (vgrade example demonstrates)
 New music playback finished events
 Documentation reorganized, 1st tutorial added
 surfarray.blit_array() supports all bit depths

     Nov 11, 2000
 BUG: pygame.display.set_mode() needs int for size, not short

     Nov 10, 2000
 Committed to CVS and documentation expanded
 Added pygame.display.get_driver()


Quick notes about the bigger ones.

For all calls that have IO or other non-processor intensive delays
i've added calls to release the python Global Interpreter Lock. If
you're doing anything with python threads, this should help keep
all your threads running fairly smooth. If someone is doing any
threaded work, it'd be great to discuss other locations where this
Python Lock gets in the way

There is now support for the SDL callback timers. The timers place
an event on the event queue every scheduled number of milliseconds.
I went for the "event" route instead of "callbacks" since the timer
callback is run in a separate thread on some platforms. Currently
there is also only one timer callback at a time. I know that isn't
the best, but to go with multiple timers requires some sort of simple
system to "manage" the different timers. If someone can come up with
a simple system to handle the different timers, i'm all for adding it.

The music finished event is very similar. SDL_mixer allows for a callback
when the music has finished playing. In pysdl you can enable an event
to be queued when the music has finished playing.

And finally, the surfarray.blit_array function now supports all bit depths.
ohmygosh! this is a beast of a module, but i tested it quite a bit and all
seems happy. In all cases using blit_array to transfer an array into a
surface is faster than simply assigning the array to a reference array of
the surface. The nice thing about blit_array() is that it also handles both
2D and 3D arrays quickly. Still, SDL's blitters between two surfaces is
still going to be the fastest way to transfer data around. Those SDL
blitters are much more optimized.

This is pretty close to the 0.3 release. My plan is to let these changes
settle for a day or two and package it up as the next release. In the meantime
grab yourself a CVS snapshot and see what's cooking.

CVS note-- i added two directories to the "docs" directory. I couldn't figure
out a CVS command to "update" and get the new directories. My sorry solution was
just to "release" my current local copy and do a brand new "checkout".
if someone knows the CVS secret for this, i'd be glad to know.


____________________________________
pygame mailing list
pygame-users@seul.org
http://pygame.seul.org