W7 + Nvidia + sprites problem

Archives Forums/Blitz3D Bug Reports/W7 + Nvidia + sprites problem

MadJack(Posted 2010) [#1]
I've been getting reports of Tank Universal crashing and glitching badly on W7 + Nvidia systems (ATI appears to be ok).

I've just upgraded to W7 64bit + Nvidia GTX260 and can recreate this problem. My copy of Blitz and Nvidia card drivers are the latest versions.

Looking at my code, it appears the glitch is at least partially related to using entityorder on a sprite. The following code should show a cube + scattered sprites scrolling across the screen as the camera pans. However, it typically stops after a second and only the sprite texture appears - stationery.

(you'll need to provide your own texture)
Global cdir$: cdir = CurrentDir(): If Right(cdir,1) <> "\" Then cdir = cdir + "\"

Graphics3D 800,600,32,2

Local CAMERA, OB, OB2, CUBE, F
CAMERA = CreateCamera()
MoveEntity CAMERA,0,0,-10

CUBE = CreateCube()
MoveEntity CUBE,0,0,0
EntityOrder CUBE,1;

OB = LoadSprite(cdir+"textures\boom.bmp",1)

For F = 0 To 50
	oB2 = CopyEntity(OB)
	PositionEntity OB2, Rand(-100,100),Rand(-10,10),Rand(-100,100)
	EntityOrder OB2,1; 
Next

Repeat
	turnEntity CAMERA,0,-.5,0
	UpdateWorld
	RenderWorld
	Flip
	
Until KeyHit(1)


It also appears that Nvidia cards don't like parented sprites - particularly sprites parented to other sprites - but I don't have example code for this yet.


MadJack(Posted 2010) [#2]
Any comment from BRL regards this bug report would be most appreciated.


MadJack(Posted 2010) [#3]
<cough> really looking forward to some sort of feedback from the Blitz team regards this issue...


dawlane(Posted 2010) [#4]
It looks like nVidia have broken something in their display drivers. I've test the code above using 185.85 driver and it works ok.


MadJack(Posted 2010) [#5]
Thanks for that info.
Still, I wonder where that leaves matters? It's not really feasible to tell users to roll back their drivers (from the latest), in order to use a Blitz3d prog.


MadJack(Posted 2010) [#6]
Still hoping for a response from BRL at this point...


skidracer(Posted 2010) [#7]
Surely it's feasible you wind back your drivers to verify the issue.


MadJack(Posted 2010) [#8]
Hi SD

Sure - I can test earlier drivers - although Dawlene seems to have done that already?

The issue is that the latest W7 Nvidia drivers appear to cause Blitz3d sprites to fail if they use entityorder or are parented.

My problem is that I need to prep patches for Steam and other standalone versions of my game. I don't think it's feasible for me to advise people who are having issues to roll back their vid drivers.

So that seems to mean that I'll need to rewrite the gamecode to avoid using native blitz sprites. Possible but time consuming.

Also, can't be sure the sprites issue is not indicative of more W7-Blitz3d-Nvidia compatibility issues lurking.

Finally, would not like to embark on a code rewrite only to have Mark release a patch that fixes the issue.

Sorry to be a pain about this, but I'm in a bit of a quandary.


GIB3D(Posted 2010) [#9]
I have noticed that one of the sprites that you use stretches across the screen when turning. I've had something similar happen to me when making a game and using sprites parented to a camera. I'm using Windows XP and Nvidia.


MadJack(Posted 2010) [#10]
GIB3d

Nah - this is a different issue.

My example code (top of the post) will effectively freeze after a second or so and only the sprite texture appears onscreen - stationery.


skidracer(Posted 2010) [#11]
Sorry to ask a dumb question but we are talking about the 196.21 WHQL forceware drivers released 2010.1.19?

<edit> actually win7 64 bit drivers for gtx 260 are currently unavailable from nvidia, while 32 bit are so maybe it would pay to wait


dawlane(Posted 2010) [#12]
@Madjack
I can confirm that the code works with
185.85_desktop_win7_64bit_international_whql
186.18_desktop_win7_winvista_64bit_international_whql

And fails with drivers equal and above (I've tested the 196.34 beta was well)
190.38_desktop_win7_winvista_64bit_international_whql

From what I can gather their are a few people unhappy with the newer nVidia display drivers. I used to use ATI RADEON cards, but every card I purchased choked on most games that I bought even if I updateted the drivers.

<edit> actually win7 64 bit drivers for gtx 260 are currently unavailable from nvidia, while 32 bit are so maybe it would pay to wait

I've seen a post on one of the nvidia user forums (nvidia feed back thread) about that but the man didn't say which version of windows 7 he was using. But in the release notes (http://us.download.nvidia.com/Windows/196.21/196.21_Win7_WinVista_Desktop_Release_Notes.pdf), GeForce GTX260 is mentioned in the open issues Multi-GPU section for Windows 7/Vista 64 bit.


MadJack(Posted 2010) [#13]
dawlane

Thanks for that useful info - appreciate it. I need to look into this a bit more. Best situation would be if Nvidia release a new driver that makes this issue go away...


dawlane(Posted 2010) [#14]
Looks like this problem has been around for 6 months I wouldn't hold your breath. I converted the code above to use the Blitz3D SDK and still get the same results. I do believe that DirectX 5 & 6 are no longer supported and may be they are starting to concentrate their resources on the newer DirectX interfaces. It wouldn't surprise me after Windows XP goes the way of the Dinosaurs that DX 9 gets phased out.
So it it limits your choices to....
beg mark to have a look to see why it does it and if it can be fixed.
beg nvidia to fix the problem (after mark has had a look)
re-write your code (which would be a lot faster that waiting for nvidia to fix it)

Edit: Using BlitzMax and minB3D it works, but then minB3D uses OpenGL


MadJack(Posted 2010) [#15]
dawlane

Thanks for your input on this.
Wonder if Mark has read this topic?

(I think you're probably right regards fixing the prob. Damn, was hoping I could avoid having to go back into the codebase. Uggh. And that's assuming that other more critical probs aren't lurking)


dawlane(Posted 2010) [#16]
Here's food for thought http://www.blitzbasic.com/Community/posts.php?topic=88071 (I remembered seeing this a while back)

It may be worth your while moving your project over to another language Blitzmax+Irrlicht, Flow or Leadwerks (if theres still support) or if a dare sayin shhhh (dbp).
Or just go the whole hog with C#/C++ and DirectX/OpenGL.


MadJack(Posted 2010) [#17]
Not really possible - this is a game that's already out there (Steam, other portals etc) using Blitz3d vanilla. To try and port it over to a new engine would no doubt cause problems for a lot of people for whom it works ok now. But I do need to fix the issue.

Plus given sales have tailed off, it would probably be a a lot of work for not much return.

(TU2 is using Xors3d DX9 + Blitz3d however)


skidracer(Posted 2010) [#18]
It may also pay to try v1.88 of Blitz3D runtime.dll. Note the comments in versions.txt regarding sprites and nvidia drivers soon afterwards so perhaps this is related to previous issue or at the least Mark having to work around more nVidia diligence?


dawlane(Posted 2010) [#19]
@skidracer
I get a MAV when RenderWorld is called when using v1.88 runtime.dll


MadJack(Posted 2010) [#20]
Have updated the demo with new code for handling sprites (as in sprites are now replaced with mesh quads) and a couple of other tweaks.

Would appreciate it if some of you guys running W7 + Nvidia could give it a whirl and see if its resolved the Nvidia issue. I feel reasonably confident that it will have (fingers crossed).

Download from here (87mb)
http://madjack.fileburst.com/TU_DEMO_INSTALL.exe


dawlane(Posted 2010) [#21]
Sofar works ok here


NobodyInParticular(Posted 2010) [#22]
Seems to work ok for me too.


MadJack(Posted 2010) [#23]
Thanks - seems to work for Steam users to.
Now I need to upload the patch for the full version...


SLotman(Posted 2010) [#24]
I'm now having several issues with Windows 7 and Geforce 8800, on my game Snail Racers (link on signature).

Reports varies from it being played *very slow* (1 fps), to missing textures every other frame (on normal models, not on sprites!) - like skybox turning black all of a sudden, to quads meshs (used instead of sprites) going black too.

I say B3D is in desperate need for a W7 fix - or at least an upgrade to DX8 if it wants to stay alive.

I see that I'm going to loose several sales due to the game giving issues on w7... it does work properly on XP and Vista btw.
(Needless to say, I'm pretty mad right now about this)


SLotman(Posted 2010) [#25]
The problem is really confirmed. I worked all night and all morning replacing just about every sprite I used, except for my particle effects.

Every parented sprite (I've never parented one sprite into another, mostly into pivot's) and sprites with entityorder were replaced by planes, making sure they always face the camera... and it's fixed so far.

But I'm still afraid of a new driver update, which can scalate the problem even further... a fix for this problem would be *really* appreciatted, specially since I don't want to recode all my other games.


dawlane(Posted 2010) [#26]
But I'm still afraid of a new driver update, which can scalate the problem even further...

Dodo posted an artical relating to nvidias new 196.75 driver make sure people are aware of this problem http://www.blitzbasic.com/Community/posts.php?topic=89340.


SLotman(Posted 2010) [#27]
Thing is, 196.21 (the driver users should 'revert to') also has the same problems with Blitz3D sprites. The last driver that didn't was 185.85 as posted before here.

We really need a update-fix for it...


Midnight(Posted 2010) [#28]
Just to add to this issue - the problem seems to be more widespread than just sprites.

I have replaced all sprites with meshes/squares/flat cubes and have completely removed all sprite commands. This fixed the issue for some of my games, but not others - in particular the older Wonderland games. The bug (crash) still occurs in some levels, but I haven't been able to nail down what's actually causing this.

Other than adding my voice to the 'PLEEAAASE' for an update to Blitz3D, does anyone have any ideas what else I could look for?


SLotman(Posted 2010) [#29]
The only good fix to those problems would be to port B3D over to DX8 or DX9 - altough both are aging too, at least we would get rid of the "fixed function pipeline" dx7 uses, so bugs would be much less prone to happen with driver updates.

Unfortunaly, since even a "small fix" to make sprites working again, even having several bugs reports here and in other threads didn't come up - not even an reply from Mark about it, so I doubt we will ever see a upgraded B3D in DX8 or DX9 form.

Best solution? Try miniB3d, Unity, XNA or other solution.

And Yes, I'm sad to write this. I love B3D and how easy it is to make a game with it. Would love to keep developing with it, but unfortunately things are getting worse (compatibility wise) every year.


dawlane(Posted 2010) [#30]
Try miniB3
I wouldn't use miniB3D just yet until all the bugs are nailed down. I have a problem creating entities from a hierarchical mesh (works ok in B3D).
As SLotman and I said some where above it may be worth using another language with a 3D Engine eg. BMax + Irrlich / Flow(Ogre) / Leadwerk Engine.


SLotman(Posted 2010) [#31]
I still would appreciate a fix for the sprite problem on W7...


Ian Caio(Posted 2010) [#32]
I have been searching about the issue, and it seens like B3D is not the only one having compatibilities problems with Windows 7. Then I found something about "Windows 7 XP Mode" which could make XP programs work on W7. Have you tryied it? I hope it work.


SLotman(Posted 2010) [#33]
Not all W7 flavours have XP mode. Just the Professional, Ultimate and Enterprise versions have it.

So even if this can bypass drivers incompatibilities (I highly doubt it), it isn't a proper fix, since most users won't have this option.


dawlane(Posted 2010) [#34]
Then I found something about "Windows 7 XP Mode" which could make XP programs work on W7
XP mode is basically a full Windows XP install that is run in a virtual machine similar to VMware and as such is limited. No Blitz3D application I have tried has worked as it's unable to set any graphics mode.


SLotman(Posted 2010) [#35]
I'm still waiting for some form of official reply; is B3D still being supported? It is still being sold on the front page, so I would assume it is... can we hope for an update or fix soon?

I'm receiving more and more emails about this problem, specially on my older games - more than 10 already! I guess most people jumped to Win7 from Vista or XP, and if this bug remain as it is, B3D is severely broken!


Ian Caio(Posted 2010) [#36]
No response from BlitzSupport yet? (I mean, by email or something, I dont know..?)


SLotman(Posted 2010) [#37]
Nope, nada, nothing :(