PDA

View Full Version : About OpenGL performance on UNIX



zhangjunyue
03-04-2004, 06:55 AM
I am doing the project about FEA, which has better performance on Windows and Linux. But there are obvious performance loss on other Unix platform (HPUX), after loading model, the camera operation is slower, swith GL_LIGHT from 2 to 1, the performance improve 20%, so I believe the OpenGL hardware acelerator is not proper,the other product on the same platform (HP) don't have the same problem. Could anyone give me some suggestion and idea, whether I need to do some modification about source code?

endash
03-04-2004, 08:26 AM
Is this all on the same hardware, or is the HPUX box different? If it's the same hardware, are the drivers similar or is the HPUX one old or something?

jwatte
03-04-2004, 08:52 AM
There is no law saying that UNIX OpenGL support must be good. In fact, the current consumer cards have out-stripped "workstation" cards from just a few years ago quite handily, except for a few esoteric cases.

If you have workstation hardware without hardware transform and lighting, you're unlikely to get great performance on that hardware if you're in any way vertex heavy in your scenes. Some of the normal ways of improving throughput MAY work: is LockArraysEXT() available? Use it. If not: is DrawRangeElements() available? Use it. Evenso, you're unlikely to see dramatic gains in this case.

zhangjunyue
03-04-2004, 10:07 AM
Originally posted by endash:
Is this all on the same hardware, or is the HPUX box different? If it's the same hardware, are the drivers similar or is the HPUX one old or something?

Yes, They run on the same hardware.

zhangjunyue
03-04-2004, 10:13 AM
Originally posted by jwatte:
There is no law saying that UNIX OpenGL support must be good. In fact, the current consumer cards have out-stripped "workstation" cards from just a few years ago quite handily, except for a few esoteric cases.

If you have workstation hardware without hardware transform and lighting, you're unlikely to get great performance on that hardware if you're in any way vertex heavy in your scenes. Some of the normal ways of improving throughput MAY work: is LockArraysEXT() available? Use it. If not: is DrawRangeElements() available? Use it. Evenso, you're unlikely to see dramatic gains in this case.

I just cannot understand why the other project can run the same hardware very well, I load the same model in the other product, its rotation is very smooth, shading mode is faster than wireframe mode. But the wireframe mode is faster than shading mode in my project. Actually, I can run smoothly in the wireframe mode.

By the way, the similar problem does not occur on Linux and Windows, the same source code run very well. It is really confused to me.