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() >>> > >