Screen not updating in Windows XP

Wow, okay, so the werid Windows XP SDL issues keep coming.
This time with two of my other programs, Gem Drop X and Mad Bomber
( http://www.newbreedsoftware.com/gemdropx/ and
http://www.newbreedsoftware.com/madbomber/ , respectively).

Here’s the report, from someone using Windows XP SP2.
(I need to ask them for any other details they can give me…
any specific questions I should ask?)

When I run the executable, a new window opens but it’s contents is
like a snapshot of what is behind it (drag it and it takes the
snapshot with it). At the top of the window is bar with a box at the
left hand end - right clicking in this box brings up “move”,
“minimise” or “Quit”, clicking “quit” brings up part of the Gem Drop
game and sometimes brings up someone’s picture.

(I think that ‘someone’ might be me… as an easter egg, I bounce around
the title screen after a while. ;^) blush )

But no game - a similar thing happens with MadBomber.
Am I missing something?

This person has Tux Paint, and it works fine, so I asked him to copy
all of the “SDL*.dll” files from Tux Paint to the folders containing
the EXEs for the other two games, since Tux Paint’s versions would be
much more recent. (He also copied “smpeg.dll”, which I forgot about.)

Sadly, no luck.

Any idea what the heck is up? Source to both apps are online, of course.
(They’re Open Source.) Both use SDL_UpdateRect(). They work flawlessly
on my Linux boxes at home, as well as on my Windows XP SP2 box at work.
shrug :^(

Thanks!!!–
-bill!
bill at newbreedsoftware.com
http://www.newbreedsoftware.com/

Bill Kendrick wrote:

Wow, okay, so the werid Windows XP SDL issues keep coming.
This time with two of my other programs, Gem Drop X and Mad Bomber
( http://www.newbreedsoftware.com/gemdropx/ and
http://www.newbreedsoftware.com/madbomber/ , respectively).

Here’s the report, from someone using Windows XP SP2.
(I need to ask them for any other details they can give me…
any specific questions I should ask?)

Questions for them:
When was the last time they ran Windows Update?
What version of DirectX are they using?
What graphics card are they using?
How much system memory and graphics memory do they have?
What localization of Windows XP are they using?

Questions for you:
Are the games initialized differently?
Are they both using double buffering?
Are they using hardware surfaces?

When I run the executable, a new window opens but it’s contents is
like a snapshot of what is behind it (drag it and it takes the
snapshot with it). At the top of the window is bar with a box at the
left hand end - right clicking in this box brings up “move”,
“minimise” or “Quit”, clicking “quit” brings up part of the Gem Drop
game and sometimes brings up someone’s picture.

(I think that ‘someone’ might be me… as an easter egg, I bounce around
the title screen after a while. ;^) blush )

But no game - a similar thing happens with MadBomber.
Am I missing something?

This person has Tux Paint, and it works fine, so I asked him to copy
all of the “SDL*.dll” files from Tux Paint to the folders containing
the EXEs for the other two games, since Tux Paint’s versions would be
much more recent. (He also copied “smpeg.dll”, which I forgot about.)

Sadly, no luck.

Any idea what the heck is up? Source to both apps are online, of course.
(They’re Open Source.) Both use SDL_UpdateRect(). They work flawlessly
on my Linux boxes at home, as well as on my Windows XP SP2 box at work.
shrug :^(

I’ll try to take a look at the source, but if I can’t then that’s the
reason for the above questions. It really sounds to me (thoughts of
bugs aside) that maybe the personis using a graphics card which has
bad/limited memory and is somehow corrupting the data and/or just not
loading it properly at all. We have a PII 400 with a Radeon 7200 for a
test system here, so I’ll try the two on that system in case that is the
situation.

Thanks!!!

-Elden

Any idea what the heck is up? Source to both apps are online, of course.
(They’re Open Source.) Both use SDL_UpdateRect(). They work flawlessly
on my Linux boxes at home, as well as on my Windows XP SP2 box at work.
shrug :^(

The last I heard, the screen-doesn’t-update issue is caused by the
latest DirectX version (9.0c Managed, or something like that).

Someone should look into this…frankly, I’m wondering if keeping the
DirectDraw target is a good idea, since it doesn’t exist in newer DX
releases and thus it may get flakier as time marches on with new drivers
and hardware. (I fear that we’re probably going to need a Direct3D
equivalent of glSDL sooner or later).

–ryan.

Any idea what the heck is up? Source to both apps are online, of course.
(They’re Open Source.) Both use SDL_UpdateRect(). They work flawlessly
on my Linux boxes at home, as well as on my Windows XP SP2 box at work.
shrug :^(

FWIW, I’ve had some reports of this same bug in my games. Apparently
it’s not too common, fortunately :)–
Gabriel Gambetta
Mystery Studio - http://www.mysterystudio.com
Gabriel on Graphics - http://gabrielongraphics.blogspot.com

El mar, 11-10-2005 a las 12:39 -0400, Ryan C. Gordon escribi?:

Someone should look into this…frankly, I’m wondering if keeping the
DirectDraw target is a good idea, since it doesn’t exist in newer DX
releases and thus it may get flakier as time marches on with new drivers
and hardware. (I fear that we’re probably going to need a Direct3D
equivalent of glSDL sooner or later).

I have some Direct3D 7.0 code to cut SDL_Surfaces into pieces, upload
them as textures, and blit them to the screen. Not as sophisticated as
glSDL, and not exposing a SDL-like API, but may be a good starting point
if someone wants to take a look.

Actually, it’s part of a D3D renderer which runs on top of an otherwise
SDL-based game framework (I have the SDL renderer, an OpenGL renderer
and the D3D renderer), so it uses SDL to create its window and do the
event processing.

--Gabriel-- 

Gabriel Gambetta
Mystery Studio - http://www.mysterystudio.com
Gabriel on Graphics - http://gabrielongraphics.blogspot.com

Ryan C. Gordon wrote:

Any idea what the heck is up? Source to both apps are online, of course.
(They’re Open Source.) Both use SDL_UpdateRect(). They work flawlessly
on my Linux boxes at home, as well as on my Windows XP SP2 box at work.
shrug :^(

The last I heard, the screen-doesn’t-update issue is caused by the
latest DirectX version (9.0c Managed, or something like that).

Someone should look into this…frankly, I’m wondering if keeping the
DirectDraw target is a good idea, since it doesn’t exist in newer DX
releases and thus it may get flakier as time marches on with new drivers
and hardware. (I fear that we’re probably going to need a Direct3D
equivalent of glSDL sooner or later).

I think keeping it is probably a good idea for old boxes. If you have a
direct3D backend you can default to direct3D but still have the
directdraw version available when direct3D isn’t available.

Stephane

Actually, it’s part of a D3D renderer which runs on top of an otherwise
SDL-based game framework (I have the SDL renderer, an OpenGL renderer
and the D3D renderer), so it uses SDL to create its window and do the
event processing.

I suspect that glSDL has the right idea here, in that each SDL hardware
surface becomes a texture, so “blitting” to the screen becomes basically
free, and locking a texture has all the same restrictions you’d expect.

In the short term, I’d like to see if Bill’s game is using SDL_HWSURFACE
(and if turning that off fixes things) and/or if switching to WinDib
fixes it.

–ryan.

Gabriel on Graphics - http://gabrielongraphics.blogspot.com

Btw, this is turning out to be a good intro tutorial on CPU-based
rendering…I hope you stick with this for some time.

–ryan.

Questions for them:
When was the last time they ran Windows Update?
What version of DirectX are they using?
What graphics card are they using?
How much system memory and graphics memory do they have?
What localization of Windows XP are they using?

Well, here’s the info they gave me so far:

My machine is a Dell Dimension 3000 with a Celeron 4E Processor
running at 2.8GHz. I have 1 gig RAM installed, and run XP Home with
SP2 installed. The graphics adaptor is an onboard one using an Intel
82865G graphics chip and an Intel Extreme 2 3D adaptor. As for DirectX
it I am running 9c.

Questions for you:
Are the games initialized differently?
Are they both using double buffering?
Are they using hardware surfaces?

Oh man, it’s been a while. Hopefully the latest .tar.gz source corresponds
to whatever Win32 EXEs are out there. :^) Checking…

Hrm, Mad Bomber does this, if in fullscreen:

  screen = SDL_SetVideoMode(640, 480, 16, SDL_FULLSCREEN);

otherwise, just this:

  screen = SDL_SetVideoMode(640, 480, 16, 0);

In Gem Drop X, I do request a hardware surface:

window = SDL_SetVideoMode(windowwidth, windowheight, 16, SDL_HWSURFACE);

The fellow with the trouble sent a screenshot. You can see it here:

http://www.sonic.net/~nbs/gem_drop_screen.jpg

Maybe upon opening the window I didn’t do any SDL_Flip() or SDL_UpdateRect()
of the full screen.

Thanks in advance!

-bill!On Tue, Oct 11, 2005 at 06:01:49AM -0400, Elden Armbrust wrote:

What options are you sending to SDL_SetVideoMode(), out of curiosity?

Thanks!On Tue, Oct 11, 2005 at 03:43:10PM -0300, Gabriel wrote:

FWIW, I’ve had some reports of this same bug in my games. Apparently
it’s not too common, fortunately :slight_smile:


-bill!
bill at newbreedsoftware.com
http://www.newbreedsoftware.com/

Hello !

http://www.sonic.net/~nbs/gem_drop_screen.jpg

I was the one that compiled that version of GemDropX.
I packaged it with the latest stable SDL version that time.

Maybe he should unzip the latest CVS DLLs of the SDL and
Helper Libs. and test them.

Here they are:

http://www.syntheticsw.com/~wizard/tmp/SDL.zip

CU

FWIW, I’ve had some reports of this same bug in my games. Apparently
it’s not too common, fortunately :slight_smile:

What options are you sending to SDL_SetVideoMode(), out of curiosity?

SDL_FULLSCREEN or 0. Can’t get simpler :)–
Gabriel Gambetta
Mystery Studio - http://www.mysterystudio.com
Gabriel on Graphics - http://gabrielongraphics.blogspot.com

Gabriel on Graphics - http://gabrielongraphics.blogspot.com

Btw, this is turning out to be a good intro tutorial on CPU-based
rendering…I hope you stick with this for some time.

Thank you, I appreciate it. I intend to continue the series, even if
nobody visits the page :slight_smile:

    --Gabriel-- 

Gabriel Gambetta
Mystery Studio - http://www.mysterystudio.com
Gabriel on Graphics - http://gabrielongraphics.blogspot.com

Torsten sent me 4 EXEs for the fellow to test:

test_1.exe:
window = SDL_SetVideoMode(windowwidth, windowheight, 16, SDL_HWSURFACE);

test_2.exe:
window = SDL_SetVideoMode(windowwidth, windowheight, 16, SDL_SWSURFACE);

test_3.exe:
window = SDL_SetVideoMode(windowwidth, windowheight, 16, SDL_SWSURFACE |
SDL_HWPALETTE);

test_4.exe:
window = SDL_SetVideoMode(windowwidth, windowheight, 16, SDL_HWSURFACE |
SDL_HWPALETTE);

Apparently, all 4 exhibited the same broken behavior on WinXP SP2 with
DirectX 9c, as shown previously here:

http://www.sonic.net/~nbs/gem_drop_screen.jpg

Ouch :(On Tue, Oct 11, 2005 at 03:15:55PM -0700, Bill Kendrick wrote:

In Gem Drop X, I do request a hardware surface:

window = SDL_SetVideoMode(windowwidth, windowheight, 16, SDL_HWSURFACE);


-bill!
bill at newbreedsoftware.com
http://www.newbreedsoftware.com/

Apparently, all 4 exhibited the same broken behavior on WinXP SP2 with
DirectX 9c, as shown previously here:

Please send all four to me off-list and I’ll try to debug it.

Thanks,
–ryan.

Bill Kendrick wrote:> On Tue, Oct 11, 2005 at 06:01:49AM -0400, Elden Armbrust wrote:

Questions for them:
When was the last time they ran Windows Update?
What version of DirectX are they using?
What graphics card are they using?
How much system memory and graphics memory do they have?
What localization of Windows XP are they using?

Well, here’s the info they gave me so far:

My machine is a Dell Dimension 3000 with a Celeron 4E Processor
running at 2.8GHz. I have 1 gig RAM installed, and run XP Home with
SP2 installed. The graphics adaptor is an onboard one using an Intel
82865G graphics chip and an Intel Extreme 2 3D adaptor. As for DirectX
it I am running 9c.

Hi,

I’ve several PCs (IBM Celeron and Nec P4) with Intel graphics adaptor at
work and french XP SP2, I’ll try to test your EXE… could you tell me
if the dekstop bpp was 32, 24 or 16 bit ?

Cheers,

Murlock

This is really odd…I have almost exactly the same system (Dell
Inspiron 1150 w/ intel extreme 2, 512mb ram, p4m 2.8ghz, xp home w/ sp2,
9.0c dx) and I’m seeing no problems. I even tried replacing the SDL.dll
packaged with gemdrop with the latest (1.2.9 at the time of this
writing) and everything worked beautifully…aside from some really
scary guy screaming at me in silence. :wink: It sounds as though it may be
some sort of issue with his DirectX. I know users hate doing this
stuff…but a reinstall of DirectX might be in order. Also, finding out
how often (and possibly what types of games) he plays might be useful.
I imagine often since he has 9.0c, but you never know. Here’s the full
specs for my machine I tested it on for debugging purposes. I’ll try to
get to testing it on the other systems as well.

Pentium 4 Mobile @ 2.8Ghz
512MB RAM
Windows XP Home w/ Service Pack 2
SDL 1.2.9 (and 1.2.5 which was with the applications)
DirectX 9.0c

I have to agree with Ryan (yet again. It seems one of us is always
inside the others head. :wink: ) and say it’s likely a DirectX issue.
Also, see if he has any debug DirectX libraries lying about. It’s not
probable…but lord knows what crazy things can happen on a PC with
debug libs for something like DX floating about.
Give him a big thanks from all of us, for being such a good FOSS
software user (reporting bugs/issues, being helpful with debugging, etc).
-Elden

Michael Bonfils wrote:> Bill Kendrick wrote:

On Tue, Oct 11, 2005 at 06:01:49AM -0400, Elden Armbrust wrote:

Questions for them:
When was the last time they ran Windows Update?
What version of DirectX are they using?
What graphics card are they using?
How much system memory and graphics memory do they have?
What localization of Windows XP are they using?

Well, here’s the info they gave me so far:

My machine is a Dell Dimension 3000 with a Celeron 4E Processor
running at 2.8GHz. I have 1 gig RAM installed, and run XP Home with
SP2 installed. The graphics adaptor is an onboard one using an
Intel
82865G graphics chip and an Intel Extreme 2 3D adaptor. As for
DirectX
it I am running 9c.

Hi,

I’ve several PCs (IBM Celeron and Nec P4) with Intel graphics adaptor
at work and french XP SP2, I’ll try to test your EXE… could you tell
me if the dekstop bpp was 32, 24 or 16 bit ?

Cheers,

Murlock


SDL mailing list
SDL at libsdl.org
http://www.libsdl.org/mailman/listinfo/sdl