[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]

Re: [pygame] More DirectX related problems



What you say is true, but a little more nuanced than that.

Yes windows stuff is sometimes bad, and sometimes it's not pygame/SDL's fault at all...

The issue with SDL's use of DirectX though, is largely that it has not been maintained in a very long time, and is now using legacy calls (5 or 7 or something) that go through directx call translation gymnastics that are poorly supported and barely tested (if at all) by driver manufacturers who put all their energy into the latest versions (directx 10 and all that)

(Py)OpenGL on the other hand, does not have that problem, because while microsoft has been reving and redesigning the DirectX API's in major ways, OpenGL has not - the OpenGL 1.1 and 1.2 calls are all still part of the spec that 2.x implementations must support to be compliant

On Tue, Feb 3, 2009 at 3:53 PM, René Dudfield <renesd@xxxxxxxxx> wrote:
hey,

sure, windows sometimes corrupts itself.  Nothing new there.
Especially if the code you are working on passes in incorrect values,
and is overwriting memory it shouldn't.

It is easy to crash many machines with a few well crafted opengl,
directx (or other video API) calls.


If using non-buggy code, that doesn't do buffer overwrites and such I
think you wouldn't have as many problems with directx.



cheers,



On Wed, Feb 4, 2009 at 10:34 AM, Lenard Lindstrom <len-l@xxxxxxxxx> wrote:
> I just had personal confirmation that SDL, maybe with the help of Pygame,
> does have DirectX issues. After repeated runs of surfarray_test.py and
> related programs my antiquated system(*) reached the point that a simple
> pygame.init() call would segfault. I confirmed it was DirectX by changing
> the video driver to windib. That worked. And to further confirm it was a
> corrupted DirectX and not Python I tried the dxdiag.exe video tests. They
> failed. Only a system reboot cleared the problem. At that point I also
> confirmed that non of the other programs I was using depended on DirectX.
> Only Python/Pygame caused ddraw.dll and dsound.dll to be loaded and kept
> alive by that suspicious ddhelp.exe character. Apparently DirectX has a
> memory.
>
> So what to do. Maybe it is time to defer to the judgment of the SDL
> developers and just let windib be the default Windows video driver. The
> documentation can suggest that anyone experiencing performance problems try
> directx.
>
> Lenard
>
>
> (*) Windows 98, DirectX 8.0 (And no, I don't want to see what DX 9 or higher
> will do for me. It would probably break something).
>
> --
> Lenard Lindstrom
> <len-l@xxxxxxxxx>
>
>