Community
Inventor Forum
Welcome to Autodesk’s Inventor Forums. Share your knowledge, ask questions, and explore popular Inventor topics.
cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Direct3D or OpenGL

37 REPLIES 37
Reply
Message 1 of 38
Anonymous
2283 Views, 37 Replies

Direct3D or OpenGL

Inventor r11

I have a Quadro4 750 XGL on WinXP
I downloaded and installed 6.14.10.8164 graphics driver (the recommended
driver)

When I select OpenGL for 'Hardware Driver type' all is fine.
If I select Direct3D, I get an error message that it has not been certified.

I take this to mean that I shouldn't be using the Direct3D setting with
this card and driver. Is this correct? Is there a driver to use with
this card for Direct3D or is the cardincapable of Direct3D?

Of course, 'Help' was of no help on this.

Also, do I need to do any kind of registry update or the R11 Hardware
Library of the 'Latest Inventor Graphics Database'.
I can't figure out if I'm suppose to do anything from this page:
http://www.inventor-certified.com/graphics/registries.php




--
Aaron R. Friedman
ARF Designs
37 REPLIES 37
Message 2 of 38
Anonymous
in reply to: Anonymous

Aaron:

I'm the farthest from considering myself an expert on the matter, but:
1/ If it ain't broke, don't fix it. Stick with the OpenGL
2/ A few of us have tried both and reported that OpenGL is faster anyway.

Richard

Aaron R. Friedman wrote:
> Inventor r11
>
> I have a Quadro4 750 XGL on WinXP
> I downloaded and installed 6.14.10.8164 graphics driver (the recommended
> driver)
>
> When I select OpenGL for 'Hardware Driver type' all is fine.
> If I select Direct3D, I get an error message that it has not been certified.
>
> I take this to mean that I shouldn't be using the Direct3D setting with
> this card and driver. Is this correct? Is there a driver to use with
> this card for Direct3D or is the cardincapable of Direct3D?
>
> Of course, 'Help' was of no help on this.
>
> Also, do I need to do any kind of registry update or the R11 Hardware
> Library of the 'Latest Inventor Graphics Database'.
> I can't figure out if I'm suppose to do anything from this page:
> http://www.inventor-certified.com/graphics/registries.php
>
>
>
>
Message 3 of 38
Anonymous
in reply to: Anonymous

Your Quadro card is better in OpenGL, use the DirectX if you have a gaming
card.
Blair
"Richard Hinterhoeller" wrote in message
news:5151617@discussion.autodesk.com...
Aaron:

I'm the farthest from considering myself an expert on the matter, but:
1/ If it ain't broke, don't fix it. Stick with the OpenGL
2/ A few of us have tried both and reported that OpenGL is faster anyway.

Richard

Aaron R. Friedman wrote:
> Inventor r11
>
> I have a Quadro4 750 XGL on WinXP
> I downloaded and installed 6.14.10.8164 graphics driver (the recommended
> driver)
>
> When I select OpenGL for 'Hardware Driver type' all is fine.
> If I select Direct3D, I get an error message that it has not been
> certified.
>
> I take this to mean that I shouldn't be using the Direct3D setting with
> this card and driver. Is this correct? Is there a driver to use with
> this card for Direct3D or is the cardincapable of Direct3D?
>
> Of course, 'Help' was of no help on this.
>
> Also, do I need to do any kind of registry update or the R11 Hardware
> Library of the 'Latest Inventor Graphics Database'.
> I can't figure out if I'm suppose to do anything from this page:
> http://www.inventor-certified.com/graphics/registries.php
>
>
>
>
Message 4 of 38
NorbertGraphics
in reply to: Anonymous

Hi Aaron:

This is a somewhat "official" response to your question ... (grin) ... or at least a response from a person on the Autodesk Inventor team who actually works with and writes the code that connects to Direct3D and OpenGL ... (grin)

I have posted replies to similar questions before and I will summarize again, because your subject raises the question directly.

There is one huge difference between Direct3D and OpenGL regarding graphics drivers. Direct3D API usage and functionality support is tested by Microsoft as part of the Windows Hardware Quality Lab (WHQL) graphics driver testing and certification process. OpenGL usage has never been and is not now part of the WHQL certification.

We are using the Direct3D API in a standard way, using the functionality in the Direct3D spec which is tested by WHQL. Therefore, the normal assumption which should be reasonable is that if your graphics driver is WHQL certified, the chances are very good that Autodesk Inventor R11 will work using Direct3D.

This is not true for OpenGL. The reason we have such an extensive Hardware Library of graphics card certifications for OpenGL is because the OpenGL community has no equivalent conformance and certification process apart from accepting the word of the graphics HW vendor that the driver works. Based on our many years of experience, this is something we cannot do so we must spend a significant amount of effort testing and certifying OpenGL graphics drivers ourselves.

This is our first release using Direct3D. While we occassionaly encounter mistakes on our part in terms of Direct3D API usage, Direct3D itself seems to work fine. The opposite is true of OpenGL. We have been using OpenGL for many years and have very few new changes in our OpenGL API usage. In spite of this, we continue to encounter new graphics drivers from HW vendors that fail our testing and certification, even though our code may not have changed at all in terms of where the problems appear.

If OpenGL works fine for you, that is great and you can use it. On the other hand, while we have had over ten years of using OpenGL, which should be time for the OpenGL HW vendors to "get it right" (grin), they haven't been able to do that, as I mention above. We are no longer willing to be so tolerant of crash-to-desktop situations that are _not_ caused by our code but are caused by bad OpenGL grapihcs drivers from graphics HW vendors. Given that Microsoft has the WHQL testing and certification program, we are now working with Direct3D under the assumption that we will not have the same level of catastrophic failures we have seen all too frequently with OpenGL graphics drivers.

As I mentioned above, this is our first release using Direct3D and given that we have had over ten years to make our usage of the OpenGL API "correct", we expect that we will have a few Direct3D API usage items to sort out and may not have found every possible problem in this initial release. The hope is that with continued use of Direct3D, we will solve any outstanding Direct3D API usage items that we may have and we will provide an experience using Inventor across all graphics HW that is reliable, conformant to the "correct" display, has optimal performance, and allows us to use advanced 3D graphics HW features and functionality in a way that you can benefit from as opposed to tentatively trying out new features to see if the graphics driver will crash under you, which has been the all-too-frequent experience with OpenGL graphics drivers for over ten years.

I hope this helps provide some background for you.

Thanks,

Norbert


Norbert Jeske
Graphics and Visualization Technology Lead
Autodesk, Inc.

Message 5 of 38
Anonymous
in reply to: Anonymous

Thanks Norbet for the explanation.
But in all that I don't understand why Inventor gives me an error
message that it has not been certified, when it is WHQL certified.

Unless, as I said, this 'older' card is incapable of Direct3D??

I still don't understand if I need to do any kind of registry update or
the R11 Hardware Library of the 'Latest Inventor Graphics Database'.

I can't figure out if I'm suppose to do anything from this page:
http://www.inventor-certified.com/graphics/registries.php

Would someone please clarify and decipher this issue for me?

--
Aaron R. Friedman
ARF Designs
Message 6 of 38
Anonymous
in reply to: Anonymous

>I can't figure out if I'm suppose to do anything from this page:
>http://www.inventor-certified.com/graphics/registries.php

Aaron,

For R10 or earlier, you need to double-click the REG file.

For R11 or later, you need to move the XML file into the Configuration
folder for your Autodesk Inventor® installation (i.e. "C:\Program
Files\Autodesk\Inventor 11\Configuration").

See "After you download the file, complete the following steps" at the
bottom of the above webpage.

Glenn
Message 7 of 38
Anonymous
in reply to: Anonymous

Thanks Glen
--
Aaron R. Friedman
ARF Designs

Glenn Chun (Autodesk) wrote:
>>I can't figure out if I'm suppose to do anything from this page:
>>http://www.inventor-certified.com/graphics/registries.php
>
>
> Aaron,
>
> For R10 or earlier, you need to double-click the REG file.
>
> For R11 or later, you need to move the XML file into the Configuration
> folder for your Autodesk Inventor® installation (i.e. "C:\Program
> Files\Autodesk\Inventor 11\Configuration").
>
> See "After you download the file, complete the following steps" at the
> bottom of the above webpage.
>
> Glenn


--
Aaron R. Friedman
ARF Designs
Message 8 of 38
ChuckTurner
in reply to: Anonymous

Hi Norbert,

I'm spec'ing up new hardware to suit Inv11 (we are still on Inv9 due to hardware limitations) and would appreciate some guidance.

I had intended to get the best CAD graphics card I could afford but now wonder if this is necessary. Does the Direct3D v OpenGL issue mean that I can now use a lesser graphics card with Direct3D and get superior performance?

What benefits will I see using OpenGL and would I have to pay for a better card to get them?

This development has left me confused. My previous buying policy was to get the best of everything the budget would stand. Now I need to know where to direct my cash for the best results.

Regards,

JonathanB
Message 9 of 38
hallstevenson
in reply to: Anonymous

I'm willing to bet that your card (I have the 380XGL myself) doesn't fully support DirectX 9. What is Inventor using ?? I don't know.... I presume when the hardware isn't fully capable, software support takes over.

Given that this is IV's first release using DirectX -- and I did read Norbert's *excellent* explanation -- I'd stick with OpenGL for a little while personally.
Message 10 of 38
R.Corriveau
in reply to: Anonymous

Same here JonathanB.

Can I now buy a BIG BAD *SS gaming card to run IV?
Will I see any negative effects from this?
Message 11 of 38
Anonymous
in reply to: Anonymous

My Brother's got a pretty decent Gaming card in his machine, so I told
him to lend it to me for a day so I could see if it would work with
R11....seems he hasn't been able to part with it yet :~/

Rick Corriveau wrote:
> Same here JonathanB.
>
> Can I now buy a BIG BAD *SS gaming card to run IV?
> Will I see any negative effects from this?
Message 12 of 38
Anonymous
in reply to: Anonymous

Inventor is using DirectX 9.

--
-Jason
Inventor QA


wrote in message news:5153317@discussion.autodesk.com...
I'm willing to bet that your card (I have the 380XGL myself) doesn't fully
support DirectX 9. What is Inventor using ?? I don't know.... I presume when
the hardware isn't fully capable, software support takes over.

Given that this is IV's first release using DirectX -- and I did read
Norbert's *excellent* explanation -- I'd stick with OpenGL for a little
while personally.
Message 13 of 38
hallstevenson
in reply to: Anonymous

> Inventor is using DirectX 9.

I'm 99% positive that the XGL series Quadros only "properly" support DirectX 8 or lower. What happens in cases like this ??
Message 14 of 38
iDS!
in reply to: Anonymous

Yeah but JD's plug on that dual SLI notebook (http://www.hypersonic-pc.com/AX9/index.asp)
looks pretty tempting! Someone out there has to have a budget and gaming passion big enough to jump at one 🙂

any takers? Let us know, please, please, please.
Message 15 of 38
NorbertGraphics
in reply to: Anonymous

Inventor R11 is using DirectX 9.0c. We build R11 using the October 2005 DirectX SDK. This also means we use version 27 of the D3DX utility library that comes with the October 2005 SDK.

You are correct that the Quadro4 series of nVidia HW does not fully support all the features of the DirectX 9.0 spec. Fortunately for us, the only serious feature we need that is missing, support for clipping planes, can be accomplished by using the Direct3D SW Vertex Processing path so with this generation of nVidia HW, we use SW Vertex Processing.

Please note that the missing support for clipping planes is also "missing" on the OpenGL side; the nVidia OpenGL driver will just accomidate the need by a couple of different options, one being switching to a SW Vertex Processing path when clipping planes are in use.

Thanks,

Norbert


Norbert Jeske
Graphics and Visualization Technology Lead
Autodesk, Inc.

Message 16 of 38
NorbertGraphics
in reply to: Anonymous

Hi Aaron:

Glen has already answered your question but I wanted to mention that your question unwittingly illustrates the reason for my _long_ (grin) explanation. The reason you see an "error" from Inventor R11 is because you have checked the checkbox:

"Warn me if I'm not using a recommended graphics driver"

under Tools => Application Options => Hardware. This is not checked by default.

Having this checked is a _good_ idea when using OpenGL, for all the reasons I mentioned earlier. The assumption when using OpenGL is that the graphics driver is "bad" _unless_ we have certified it in our Graphics Lab.

The _opposite_ assumption seems to be the case with Direct3D. A WHQL certified Direct3D graphics driver can in general be considered "good" so having this checkbox checked when using Direct3D is a bit redundant. In the case of Direct3D, this "error" simply indicates that our Graphics Lab has not yet managed to test your graphics driver with Direct3D, which if you are using a WHQL certified graphics driver, is not as critical for you as it would be if you were using OpenGL.

Thanks,

Norbert


Norbert Jeske
Graphics and Visualization Technology Lead
Autodesk, Inc.

Message 17 of 38
NorbertGraphics
in reply to: Anonymous

Hi Jonathan:

We need to understand what you mean by "superior performance" (grin). In my previous long (grin) explanation, I mentioned four characteristics: reliable, conformant to the "correct" display, optimal performance, and use of advanced 3D graphics HW features and functionality.

Note that perfomance is the third characteristic; if your OpenGL graphics driver causes your application to crash-to-desktop or gives you an "incorrect" display, then being able to draw billions of triangles per second is a bit meaningless, no?

The problem for OpenGL is that the first two characteristics are such an issue, especially if you don't use a "workstation" graphics card. In fact, even with a "workstation" (e.g. CAD) graphics card, the magnificent failure of OpenGL to live up to its Marketing claim of being a professional level 3D graphics API is illustrated by the fact that if you go to a typical graphics HW vendor web page to download a "workstation" graphics driver, you will typically encounter a list (over 70 in one case) of the applications that have "certified" the "workstation" graphics driver. An obvious question that comes to mind is why this is necessary if OpenGL is a "professional" level 3D API?

This is not to say that Direct3D "just works" (grin); rather the situation with Direct3D is that Microsoft enforces a level of reliablity and conformance to the "correct" display result via WHQL ... and this applies to _all_ graphiics HW, whether it is "workstation" or "consumer" level graphics HW. Essentially, using Direct3D and the exsistence of WHQL allows us to focus on the latter two characteristics, performance and advanced functionality.

So ... back to your question (grin) ... moving forward, we now have much greater flexibilty to focus on 3D graphics HW performance optimizations and the use of advanced features and functionality ... and this applies to _all_ graphics HW, not just the best CAD graphics card you can afford. From our standpoint, we would like the only differentiator to be performance; meaning the reason for a newer or more expensive graphics card is because it is faster or does have advanced features and functionality that allows it to generate the "correct" display faster than an older or less expensive graphics card. From the standpoint of a SW developer, this goal is much easier to realize across a wide range of graphics HW if using Direct3D than if using OpenGL.

I hope this helps you understand the situation.

Thanks,

Norbert


Norbert Jeske
Graphics and Visualization Technology Lead
Autodesk, Inc.

Message 18 of 38
R.Corriveau
in reply to: Anonymous

So to Dirct3D or not to Direct3D that is the question.

When purchasing a card for IV11 can we now consider "High End" gaming cards as giving us at least the same or maybe better performance than our High end OpenGL cad cards?

Yes or No.
Message 19 of 38
NorbertGraphics
in reply to: Anonymous

Hi Rick:

It is not quite that simple as "Yes or No" ... at least not right now.

If comparing Direct3D on a gaming card versus a CAD card, check the specs from the graphics HW vendor. Since you are using the same API in this case, the relative performance and graphics memory specified for the cards gives you a measure of how they compare.

If you are comparing Direct3D versus OpenGL, then you need to remember that you use OpenGL on the gaming card at your own risk because the graphics HW vendors will not support your use of OpenGL for CAD on a gaming card (wait ..., isn't OpenGL a "standard"??? (grin)).

OpenGL gives much greater latitude to the graphics HW vendor to "correct" any significant application performance issues by collecting and reorganizing data received from the application in the graphics driver. In this way, an application can be "improved" by a graphics HW vendor, simply by special handling for the OpenGL API calls. This is why in your OpenGL tabs for your Display Properties, you can choose the Application Profile. This is telling your OpenGL graphics driver to "adjust" itself to expect the chosen application to be running and to "interpret" OpenGL API calls according to any history and experience that the OpenGL vendor has for this application.

Direct3D does not give this same degree of latitude to the graphics driver, instead requiring the _application_ to implement its usage of Direct3D with some realities of 3D graphics HW in mind. This is not a _bad_ thing (grin); there is only so much "improvement" that a graphcs driver can do on its own ... and these "improvements" can lead to serious problems with reliability and conformance ... which we are all too familar with in OpenGL.

At the moment, we benefit from some of the OpenGL graphics driver "improvements" and suffer from others; this is the reason for our extensive set of work-around bits for use with OpenGL. The benefits seem to all be performance benefits and the negative aspects are mostly reliability and conformance problems.

So, if you are interested in comparing Direct3D versus OpenGL in R11 right now, there are certain OpenGL graphics drivers that might "improve" our API usage significantly and you will see better performance with OpenGL, provided you do not have problems with reliabilty and conformance.

If you are thinking about the future, stay tuned ... (grin) ... as I just mentioned, Direct3D expects the _application_ to improve itself for better performance, not rely on the graphics driver to do this for it and we are acting accordingly. Given that Direct3D works the same on gaming cards as on CAD cards, the improvements we make will apply across all graphics HW for Direct3D.

Thanks,

Norbert


Norbert Jeske
Graphics and Visualization Technology Lead
Autodesk, Inc.

Message 20 of 38
Anonymous
in reply to: Anonymous

Norbert when the other kids in the class were out on the playground were
you inside writing novels.....wow you like to write a lot

I am not complaining just noting the obvious:)

Troy

Norbert (Autodesk) wrote:
> Hi Rick:
>
> It is not quite that simple as "Yes or No" ... at least not right now.
>
> If comparing Direct3D on a gaming card versus a CAD card, check the specs from the graphics HW vendor. Since you are using the same API in this case, the relative performance and graphics memory specified for the cards gives you a measure of how they compare.
>
> If you are comparing Direct3D versus OpenGL, then you need to remember that you use OpenGL on the gaming card at your own risk because the graphics HW vendors will not support your use of OpenGL for CAD on a gaming card (wait ..., isn't OpenGL a "standard"??? (grin)).
>
> OpenGL gives much greater latitude to the graphics HW vendor to "correct" any significant application performance issues by collecting and reorganizing data received from the application in the graphics driver. In this way, an application can be "improved" by a graphics HW vendor, simply by special handling for the OpenGL API calls. This is why in your OpenGL tabs for your Display Properties, you can choose the Application Profile. This is telling your OpenGL graphics driver to "adjust" itself to expect the chosen application to be running and to "interpret" OpenGL API calls according to any history and experience that the OpenGL vendor has for this application.
>
> Direct3D does not give this same degree of latitude to the graphics driver, instead requiring the _application_ to implement its usage of Direct3D with some realities of 3D graphics HW in mind. This is not a _bad_ thing (grin); there is only so much "improvement" that a graphcs driver can do on its own ... and these "improvements" can lead to serious problems with reliability and conformance ... which we are all too familar with in OpenGL.
>
> At the moment, we benefit from some of the OpenGL graphics driver "improvements" and suffer from others; this is the reason for our extensive set of work-around bits for use with OpenGL. The benefits seem to all be performance benefits and the negative aspects are mostly reliability and conformance problems.
>
> So, if you are interested in comparing Direct3D versus OpenGL in R11 right now, there are certain OpenGL graphics drivers that might "improve" our API usage significantly and you will see better performance with OpenGL, provided you do not have problems with reliabilty and conformance.
>
> If you are thinking about the future, stay tuned ... (grin) ... as I just mentioned, Direct3D expects the _application_ to improve itself for better performance, not rely on the graphics driver to do this for it and we are acting accordingly. Given that Direct3D works the same on gaming cards as on CAD cards, the improvements we make will apply across all graphics HW for Direct3D.
>
> Thanks,
>
> Norbert

Can't find what you're looking for? Ask the community or share your knowledge.

Post to forums  

Autodesk Design & Make Report