This is a very strange bug that only seems to happen on the new GeForce 8800 series video cards. Maybe it's a driver issue, but in the cases I've seen, all were running the latest version of the Forceware drivers, (97.92) on Windows XP home edition.
To summarize what's happening, image buffers created using CreateImage and written to with Text are getting randomly corrupted pixelation. Code is like this:
This works perfectly as expected on most cards, but not the 8800 series (GTS, GTX) cards.
Even stranger, if I use a different mask color than the default black, then the corrupted pixels don't appear.
This must be a bug in either the video drivers, or the way Blitz handles writing Text on a buffer. The reason I suspect Blitz is because of the difference in handling the mask color. Any ideas?
I should mention one more thing, I can only reproduce this in my full game code. A simple example program didn't cause the glitch. I suspect that image buffers are getting mixed up or something, and my simple example isn't using enough buffers to cause a problem.
To summarize what's happening, image buffers created using CreateImage and written to with Text are getting randomly corrupted pixelation. Code is like this:
h = CreateImage(460,40) SetBuffer (h) ClsColor 0,0,0 Cls Color 255,255,255 SetFont myFont Text 5,5,"Some Text" SetBuffer BackBuffer()
This works perfectly as expected on most cards, but not the 8800 series (GTS, GTX) cards.
Even stranger, if I use a different mask color than the default black, then the corrupted pixels don't appear.
h = CreateImage(460,40) SetBuffer (h) ClsColor 0,255,255 Cls MaskImage h,0,255,255 Color 255,255,255 SetFont myFont Text 5,5,"Some Text" SetBuffer BackBuffer()
This must be a bug in either the video drivers, or the way Blitz handles writing Text on a buffer. The reason I suspect Blitz is because of the difference in handling the mask color. Any ideas?
I should mention one more thing, I can only reproduce this in my full game code. A simple example program didn't cause the glitch. I suspect that image buffers are getting mixed up or something, and my simple example isn't using enough buffers to cause a problem.