On Sat, Jun 7, 2008 at 12:01 PM, René Dudfield <
renesd@xxxxxxxxx> 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 <
len-l@xxxxxxxxx> 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 <
pesvieira@xxxxxxxxx> 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()
>>>>
>>
>>
>