hi again, I modified my original change... because vista still uses platform as 2 like nt/2000/xp. So I also checked the major number of the platform was < 6 - since vista is less than 6.
cheers, On Sat, Jun 7, 2008 at 12:01 PM, René Dudfield <[EMAIL PROTECTED]> wrote: > hi, > > yeah, I'm pretty sure this is the case... usually blitting is the slow > part - and with most older computers, directx is the fast path. > There's also been a couple of other reports of 1.8 being slower on > their computers... > > I've committed something for lib/__init__.py ... that uses directx > for older windows versions. It's untested so far, I'll boot up my > windows machines and see if it works there. I can only test on xp, > and vista at the moment. > > > These should run on older versions of windows. > > ---- > import pygame, os > assert(os.environ.get('SDL_VIDEODRIVER', '') == 'directx') > > > > ------ this one should respect the driver set by the user. > import os > os.environ['SDL_VIDEODRIVER'] = 'windib' > import pygame > assert(os.environ.get('SDL_VIDEODRIVER', '') == 'windib') > > > cu, > > > On Sat, Jun 7, 2008 at 11:19 AM, Lenard Lindstrom <[EMAIL PROTECTED]> wrote: >> Let's wait until Pedro Vieira confirms he is using Windows and that setting >> SDL_VIDEODRIVER solves his problem. If so then yes we could patch >> __init__.py to set SDL_VIDEODRIVER if it is not already set. Personally, I >> see a 6X increase in framerate enabling directx for the test case below. >> >> Lenard >> >> >> René Dudfield wrote: >>> >>> hi, >>> >>> this is probably because your computer has faster directx 2d driver >>> than windib driver. >>> >>> We had to follow SDLs change of default driver, because the directx >>> driver is broken on some platforms. >>> >>> However you can set the old directx driver. >>> os.environ["SDL_VIDEODRIVER"] = "directx" >>> >>> I would recommend wrapping it in some OS detection - so your game >>> would still work on the platforms where the directx driver is broken. >>> >>> Lenard: Maybe we can make this behaviour default in pygame 1.8.1... ? >>> What do you think? >>> We could use the platform module to detect if it's win9x, win2k etc, >>> then select the directx driver if so. >>> >>> If you reckon, it's a good idea, I'll try and make a patch for the OS >>> detection. >>> >>> >>> >>> >>> On Sat, Jun 7, 2008 at 4:33 AM, Pedro Vieira <[EMAIL PROTECTED]> wrote: >>> >>>> >>>> Hi. >>>> >>>> I updated the version of pygame, 1.7.1 to 1.8, and I had problem with >>>> that. >>>> My game started to become very slow, only by exchanging version. I was >>>> looking to see what was happening and saw that the fps was very low. I >>>> created a simple code to test and I saw that for the same code, ran on >>>> both >>>> versions, there is a big difference in FPS. What may be happening? >>>> >>>> Thank you. >>>> >>>> >>>> The code that I used for test is below: >>>> >>>> import pygame >>>> >>>> class Game: >>>> screen = None >>>> screen_size = None >>>> run = True >>>> >>>> def __init__( self, size, fullscreen): >>>> pygame.init() >>>> flags = pygame.DOUBLEBUF >>>> if fullscreen: >>>> flags = (pygame.FULLSCREEN | pygame.DOUBLEBUF | >>>> pygame.HWSURFACE) >>>> self.screen = pygame.display.set_mode( size, flags ) >>>> >>>> def handle_events( self ): >>>> for event in pygame.event.get(): >>>> if ((event.type == pygame.KEYDOWN)or(event.type == >>>> pygame.KEYUP)): >>>> if (event.key == pygame.K_ESCAPE): >>>> self.run = False >>>> >>>> def loop( self ): >>>> clock = pygame.time.Clock() >>>> while (self.run): >>>> clock.tick() >>>> print clock.get_fps() >>>> self.screen.fill((255,255,255)) >>>> self.handle_events() >>>> pygame.display.flip() >>>> >>>> >>>> game = Game((1024,768), 1) >>>> game.loop() >>>> >> >> >