Radeon 7000 and ASE loader performance problem

Hi,

When I load a ASE model with the ASE loader and display it:

  • the CPU usage with a GeForce 5200 is 0% to 1%
  • the CPU usage with a Radeon 7000 is 40% to 50%
    The machines configuration are exactly the same except the video card.

I’ve used several model (including the human body model , human.ASE, from the getting started document) and it always gives the same results.

On the other hand, when I load a 3DS model with the 3DS loader and display it:

  • the CPU usage with a GeForce 5200 is 0% to 1%
  • the CPU usage with a Radeon 7000 is 0% to 1%

I read on this forum that the Radeon 7000 drivers have problems with OpenGL but how come it gives a good performance with the 3DS model?

I don’t want use the 3DS model because I really like the feature in the ASE loader which extracts the pivot points (really useful feature!!!).

Here is the logs given by Xith3D:
-----------Radeon 7000-------------------
[java] OpenGL Renderer = RADEON 7000 DDR x86/SSE2
[java] OpenGL Version = 1.3.4332 Win2000 Release
[java] OpenGL Vendor = ATI Technologies Inc.
[java] Chosen index: 3
[java] Chosen capabilities:
[java] GLCapabilities [DoubleBuffered: true, Stereo: false, HardwareAccelerated: true, DepthBits: 24, StencilBits: 8, Red: 5, Green: 6, Blue: 5, Alpha: 0, Red Accum: 0, Green Accum: 0, Blue Accum: 0, Alpha Accum: 0 ] MS: false 2
[java] No Vertex Program support, skipping
[java] No Fragment Program support, skipping

driver version : 6.14.10.6444
date : 21/04/2004

What do No Vertex Program support and No Fragment Program support mean?

-----------GeForce 5200------------------
[java] Chosen index: 8
[java] Chosen capabilities:
[java] GLCapabilities [DoubleBuffered: true, Stereo: false, HardwareAccelerated: true, DepthBits: 24, StencilBits: 8, Red: 8, Green: 8, Blue: 8, Alpha: 0, Red Accum: 16, Green Accum: 16, Blue Accum: 16, Alpha Accum: 16 ] MS: false 0
[java] Init GL is net.java.games.jogl.impl.windows.WindowsGLImpl
[java] OpenGL Renderer = GeForce FX 5200/AGP/SSE2
[java] OpenGL Version = 1.4.0
[java] OpenGL Vendor = NVIDIA Corporation

Someone has a clue on this?

Thanks

Your cpu usage for loading the models should actually not be dependent on your graphics, card, because reading and interpreting the files is in any case software and can’t be speeded up by a gpu (At least i don’t think so). Maybe your doing different stuff during loading i.e. creating a CanvasPeer…

That means simply, that your graphics card doesn’t support these features.

Arne

Actually, it’s not the loading time the problem. It’s the CPU usage when rendering the scenegraph.

Just displaying the scenegraph (no animation, nothing) gives those CPU usage. Just a simple rendering loop:

while(true) {
view.renderOnce();
try {
Thread.sleep(20);
} catch(Exception e) {
break;
}
}

Why would it take 40% of the CPU just to render a simple model with the Radeon 7000? And why does it happen with a ASE model and not with a 3DS model?

Finally, what’s the impact of not having those features (No Vertex Program support and No Fragment Program)?

Thanks

Vertex Program and Fragment Program are OpenGL extensions equivalent to DirectX Vetrtex and Pixel shaders. Basically your card doesn’t support DX8/DX9 features, so Vertex shaders get calculated by your CPU, while Pixel shaders simply won’t be detected/won’t work.

Correct?

Both are advanced features that you probably won’t take advantage of in your casual work with 3D.

strange ::slight_smile:
mmh maybe your 3ds model doesn’t contain all the features your ASE model has? (Textures, Lightning) If not, it could be a bug… maybe a bit some profiling would help ( I believe there are some tools out, there, but I never did anything like profiling myself), because if it were really a bug, it should get fixed :wink:

About the No Vertex Program thingi: You might then not be able to have bumpmaps (that’s the only thing I know, because that’s the only thing I tried to do) - besides I get those messages, too, but I haven’t really missed those features (only once with that bumpmapping ;))

Arne