Hello,
We are experiencing a strange problem on computers using NVidia GeForce2
MX400 cards (supplied by ASUS, model # V7100 Pro64) after updating the
driver (to version 5.2.1.6).
In the upper-left corner of the view window of our app., we display a
small picture of three orthogonal arrows showing the orientation of the
x, y and z axes. At the ends of each of these arrows, we ouput raster
characters to label each one using glRasterPos and glBitmap. This app.
also has a control-bar docked along the bottom of the window which can
be resized taller or shorter, thus changing the height of the view
window. When this happens, the raster labels are offset vertically by
the same amount that the height of the window changed but in the
opposite direction. That is, if the top of the control-bar is moved up,
making the view window shorter, the labels are drawn farther down from
where they should be, and vice versa for when the top of the control-bar
is moved down. The arrows are drawn in the right place. This only
happens on the first repaint of the window after the change; the next
time the window is redrawn, the raster labels are back where they should be.
The fact that this only occurs after updating the driver leads me to
believe that this may be a bug in the driver. However, I don't
understand why it only happens on the first draw after a change in
height instead of all the time. This makes me wonder if it is some kind
of synchronization thing (?). Another thing bugging me is that so far, I
haven't been able to reproduce the problem in a simple application --
only in our main app.
Below is part of the code for displaying the arrows and labels. Any
ideas you may have on this would be greatly appreciated.
BTW, the OS is WindowsXP and the OpenGL is supplied by Microsoft, is
version 1.4 and has a file version of 5.1.2600.1106.
Thanks,
John
// fWinWidth and fWinHeight are the width and height of
// the window in pixels.
// fLen is the length of the arrows.
float fLen = float(min(fWinWidth, fWinHeight))/10.0f;
glMatrixMode(GL_PROJECTION);
glPushMatrix();
glLoadIdentity();
glOrtho(-fWinWidth/2.0, fWinWidth/2.0, -fWinHeight/2.0,
fWinHeight/2.0, -fLen, fLen);
glMatrixMode(GL_MODELVIEW);
glPushMatrix();
glLoadIdentity();
glTranslatef(-fWinWidth/2.0f+fLen+20.0f,
fWinHeight/2.0f-fLen-11.0f, 0.0f);
glMultMatrixf((GLfloat*)&vw); // View rotation only (no
// translation or scaling)
// Arrows drawn here using GL_LINES and GL_TRIANGLES
// Now put up raster labels
glPixelStorei(GL_UNPACK_ALIGNMENT, 1);
glRasterPos3f(fLen, 0.0f, 0.0f); // Position for X axis label
glBitmap(8, 9, -2.0f, -2.0f, 9.0, 0.0, &rasters[0][0]);
// etc.
|
|
0
|
|
|
|
Reply
|
John
|
4/29/2004 7:44:57 PM |
|
John Shell wrote:
> Hello,
> We are experiencing a strange problem on computers using NVidia GeForce2
> MX400 cards (supplied by ASUS, model # V7100 Pro64) after updating the
> driver (to version 5.2.1.6).
Did this happen before you updated the driver? What version were you
running before?
> In the upper-left corner of the view window of our app., we display a
> small picture of three orthogonal arrows showing the orientation of the
> x, y and z axes. At the ends of each of these arrows, we ouput raster
> characters to label each one using glRasterPos and glBitmap. This app.
> also has a control-bar docked along the bottom of the window which can
> be resized taller or shorter, thus changing the height of the view
> window. When this happens, the raster labels are offset vertically by
> the same amount that the height of the window changed but in the
> opposite direction. That is, if the top of the control-bar is moved up,
> making the view window shorter, the labels are drawn farther down from
> where they should be, and vice versa for when the top of the control-bar
> is moved down. The arrows are drawn in the right place. This only
> happens on the first repaint of the window after the change; the next
> time the window is redrawn, the raster labels are back where they should be.
Clearly you just need to throw away the first repaint. :-)
Actually, you might be getting a repaint before a window resize -- dump
out the events to see if this might be the case.
If the event handling seems correct, try running with a software
renderer to see if it happens there.
> BTW, the OS is WindowsXP and the OpenGL is supplied by Microsoft, is
> version 1.4 and has a file version of 5.1.2600.1106.
Well, the OpenGL is really supplied by NVidia, just the top OpenGL32.dll
is supplied by Microsoft.
--
Andy V
|
|
0
|
|
|
|
Reply
|
Andy
|
4/30/2004 12:52:48 AM
|
|
Andy,
Thank you for your response.
On 4/29/2004 8:52 PM, Andy V wrote:
> John Shell wrote:
>> Hello,
>> We are experiencing a strange problem on computers using NVidia GeForce2
>> MX400 cards (supplied by ASUS, model # V7100 Pro64) after updating the
>> driver (to version 5.2.1.6).
>
> Did this happen before you updated the driver? What version were you
> running before?
>
No, it never happened before the update.
>
> Clearly you just need to throw away the first repaint. :-)
>
> Actually, you might be getting a repaint before a window resize -- dump
> out the events to see if this might be the case.
>
> If the event handling seems correct, try running with a software
> renderer to see if it happens there.
>
Good idea. With software rendering, the problem doesn't occur, so (I
think) it's safe to say that it is the driver/card.
Actually, you're first suggestion isn't so bad either. If I do
back-to-back redraws, the problem doesn't show up.
Right now, our work-around for this is to set a registry value on any
customer computer that is experiencing this problem. Our software will
then detect this value and, if set, will put up the labels using GDI
calls (i.e., TextOut calls) instead of OpenGL calls. However, because we
are using double buffering, the TextOuts must be after the SwapBuffer
which means that the labels flicker as the view is rotated, zoomed or
panned. That's no big deal -- I just don't like it from a programming
point-of-view because it makes the code ugly (uglier).
John
|
|
0
|
|
|
|
Reply
|
John
|
5/3/2004 2:13:33 PM
|
|
John Shell wrote:
> Right now, our work-around for this is to set a registry value on any
> customer computer that is experiencing this problem. Our software will
> then detect this value and, if set, will put up the labels using GDI
> calls (i.e., TextOut calls) instead of OpenGL calls. However, because we
> are using double buffering, the TextOuts must be after the SwapBuffer
> which means that the labels flicker as the view is rotated, zoomed or
> panned. That's no big deal -- I just don't like it from a programming
> point-of-view because it makes the code ugly (uglier).
Just a note of warning -- this will not work the same way on all
graphics boards. You may be lucky.
--
Andy V
|
|
0
|
|
|
|
Reply
|
Andy
|
5/3/2004 10:22:27 PM
|
|
John Shell wrote:
> Good idea. With software rendering, the problem doesn't occur, so (I
> think) it's safe to say that it is the driver/card.
The jury is still out. It is easy to have a bug that works the way you
want in one configuration and differently in another configuration.
--
Andy V
|
|
0
|
|
|
|
Reply
|
Andy
|
5/3/2004 10:24:01 PM
|
|
Andy,
Thanks for your input. Regarding the warning about my work-around
possibly not working on all cards: Hopefully, we won't have the raster
problem on other cards. Our company manufactures and sells numeric
control machine tools and we supply both the hardware and software.
Therefore, we can test any graphics cards before we distribute them.
However, since the computer hardware is standard PC hardware, the
customer could swap graphics cards. I'm not sure what our company's
policy in this case would be -- it might become the customer's problem
at that point.
BTW, I'm curious how the TextOuts might act on other graphic cards.
Anyway, if the software rendering test doesn't necessarily implicate the
driver/card, any other suggestions for things to try, or for a better
work-around?
Thanks again,
John
On 5/3/2004 6:24 PM, Andy V wrote:
>
> The jury is still out. It is easy to have a bug that works the way you
> want in one configuration and differently in another configuration.
>
> --
> Andy V
>
|
|
0
|
|
|
|
Reply
|
John
|
5/5/2004 1:37:04 PM
|
|
John Shell wrote:
> Andy,
> Thanks for your input. Regarding the warning about my work-around
> possibly not working on all cards: Hopefully, we won't have the raster
> problem on other cards. Our company manufactures and sells numeric
> control machine tools and we supply both the hardware and software.
> Therefore, we can test any graphics cards before we distribute them.
> However, since the computer hardware is standard PC hardware, the
> customer could swap graphics cards. I'm not sure what our company's
> policy in this case would be -- it might become the customer's problem
> at that point.
>
> BTW, I'm curious how the TextOuts might act on other graphic cards.
Here is a "deep pixel" configuration: RGBA0 in bits 0 to 31, RGBA1 in
bits 31 to 63 and a bank select bit 64. OpenGL renders to the back
buffer, and SwapBuffers simply complements bit 64 for all the pixels in
the window.
However, the Win32 graphics system doesn't know about two buffers -- it
always renders to bits 0 to 31. Thus, sometimes you will get the right
results and sometimes Win32 will render to the back buffer.
> Anyway, if the software rendering test doesn't necessarily implicate the
> driver/card, any other suggestions for things to try, or for a better
> work-around?
I don't have any magic bullets; I generally just try to reduce the
problem to a small reproducer and try it on a number of different
boards. Then I can send that to the maintainers.
I just swapped graphics boards myself, and have started having problems.
Is it my program or the driver? I suspect the driver but other
applications are doing just fine on that board. Clearly I am doing
something sufficiently out of the ordinary that I'm confusing the
implementation. Or do I just have a bug, and I've just been lucky?
--
Andy V
|
|
0
|
|
|
|
Reply
|
Andy
|
5/6/2004 12:13:44 AM
|
|
Andy V wrote:
>
> I just swapped graphics boards myself, and have started having problems.
> Is it my program or the driver? I suspect the driver but other
> applications are doing just fine on that board. Clearly I am doing
> something sufficiently out of the ordinary that I'm confusing the
> implementation. Or do I just have a bug, and I've just been lucky?
>
Did you go from NVIDIA to ATI..?
ATI cards are a lot more fussy about what they accept,
but getting your program working on an ATI card will
usually make the program more "correct".
--
<\___/> "To err is human, to moo bovine."
/ O O \
\_____/ FTB. For email, remove my socks.
|
|
0
|
|
|
|
Reply
|
fungus
|
5/6/2004 12:22:42 AM
|
|
fungus wrote:
> Andy V wrote:
>
>>
>> I just swapped graphics boards myself, and have started having
>> problems. Is it my program or the driver? I suspect the driver but
>> other applications are doing just fine on that board. Clearly I am
>> doing something sufficiently out of the ordinary that I'm confusing
>> the implementation. Or do I just have a bug, and I've just been lucky?
>>
>
> Did you go from NVIDIA to ATI..?
>
> ATI cards are a lot more fussy about what they accept,
> but getting your program working on an ATI card will
> usually make the program more "correct".
3DLabs VX1 to ATI 9800. Much faster, but wrong results. :-)
--
Andy V
|
|
0
|
|
|
|
Reply
|
Andy
|
5/6/2004 1:57:07 AM
|
|
Andy V wrote:
> fungus wrote:
>
>> Did you go from NVIDIA to ATI..?
>>
>
> 3DLabs VX1 to ATI 9800. Much faster, but wrong results. :-)
>
Well, I got the "to ATI" part right... :-)
Don't worry, a week from now your program will be a little
bit neater than it is today.
--
<\___/> "To err is human, to moo bovine."
/ O O \
\_____/ FTB. For email, remove my socks.
|
|
0
|
|
|
|
Reply
|
fungus
|
5/6/2004 7:07:54 AM
|
|
fungus wrote:
> Andy V wrote:
>
>> fungus wrote:
>>
>>> Did you go from NVIDIA to ATI..?
>>>
>>
>> 3DLabs VX1 to ATI 9800. Much faster, but wrong results. :-)
>>
>
> Well, I got the "to ATI" part right... :-)
>
> Don't worry, a week from now your program will be a little
> bit neater than it is today.
>
>
Well, today it is working much, much better -- but I haven't started to
change the code around yet.
--
Andy V
|
|
0
|
|
|
|
Reply
|
Andy
|
5/7/2004 2:24:44 AM
|
|
|
10 Replies
210 Views
(page loaded in 0.48 seconds)
Similiar Articles: Raster problem after driver update - comp.graphics.api.opengl ...Hello, We are experiencing a strange problem on computers using NVidia GeForce2 MX400 cards (supplied by ASUS, model # V7100 Pro64) after updating the driver (to ... Problem with symbios 53c875 - comp.periphs.scsiRaster problem after driver update - comp.graphics.api.opengl ... Problem with symbios 53c875 - comp.periphs.scsi... hint is welcome >Gerd Try pressing Ctrl-C just after ... plotting pdf with oce tds400 - comp.text.pdfRaster problem after driver update - comp.graphics.api.opengl ... plotting pdf with oce tds400 - comp.text.pdf Raster problem after driver update - comp.graphics.api ... Warlord's III Reign of Heroes, XP problem - comp.sys.ibm.pc.games ...Raster problem after driver update - comp.graphics.api.opengl ... Warlord's III Reign of Heroes, XP problem - comp.sys.ibm.pc.games ... Raster problem after driver update ... problem with OpenGL and NVidia graphics card - comp.soft-sys ...Raster problem after driver update - comp.graphics.api.opengl ... Hello, We are experiencing a strange problem on computers using NVidia GeForce2 MX400 cards (supplied by ... Disk problem since firmware update... - comp.sys.mac.system ...Raster problem after driver update - comp.graphics.api.opengl ... Disk problem since firmware update... - comp.sys.mac.system ..... disk, WITHOUT any CD inside or drivers. shutdown problem - comp.sys.hp.hpuxRaster problem after driver update - comp.graphics.api.opengl ... Hello, We are experiencing a strange problem on computers using NVidia GeForce2 MX400 cards (supplied by ... T42 Wireless Card FRU 91P7301 Wireless Card Drivers - comp.sys ...Raster problem after driver update - comp.graphics.api.opengl ... T42 Wireless Card FRU 91P7301 Wireless Card Drivers - comp.sys ... Raster problem after driver update ... bar3: label each bar with z-value? - comp.soft-sys.matlab ...Raster problem after driver update - comp.graphics.api.opengl ..... arrows, we ouput raster characters to label each one using glRasterPos and glBitmap. ... work-around ... Radeon 9200 - screen flickers! - comp.sys.ibm.pc.hardware.video ...Raster problem after driver update - comp.graphics.api.opengl ... Radeon 9200 - screen flickers! - comp.sys.ibm.pc.hardware.video ..... my mother board is an ECS P6S5AT ... Raster problem after driver update - comp.graphics.api.opengl ...Hello, We are experiencing a strange problem on computers using NVidia GeForce2 MX400 cards (supplied by ASUS, model # V7100 Pro64) after updating the driver (to ... Autodesk - AutoCAD Raster Design Services & Support - Updates ...Utilities & Drivers; Tools; Training; Community; Consulting ... Autodesk® Raster Design 2004. Update to resolve issue for right click ... Fix for image editing problem in Autodesk® CAD ... 7/22/2012 9:06:35 AM
|