PDA

View Full Version : Slooooow OGL on new notebooks



joolz
05-16-2006, 05:05 AM
Guys

I have developed an app that uses Finite Element Analysis and displays the results using OGL.
There are probably about 5000 polygons with scalar data on them

My display contains dynamic viewing using the mouse (real-time rotate pan zoom etc)

All was well until I tested the app on some new IBM notebooks (Thinkpads I think :-) )

Basically the real-time rotations are so slow to get started that my app is unusable.

Zoom and pan are fine.

What seems to be happening is that as the user presses the left mouse (to rotate), a buffer is filled and nothing happens until its filled. After filling the model rotates fine (real-time stuff etc). As soon as the user lets go of the mouse and re-clicks it all starts again, sloooow

This buffer fill takes about 5s and is totally unacceptable. The user thinks the app has crashed!

Strange thing is that I think the notebooks have accelerated OGL graphics (at least, there is a dedicated OGL tab in properties).

When the model is being rotated the CPU is at 5% etc..... this points to an accelerated card as far as I can see?
If it was software then surely it would be at 100%??

BTW They have 64mb graphics and I noticed that I needed to set a setting to high graphics memory use (they crashed at lower settings)

EDIT --- I have just loaded the software on my ooooold P2 300MHz notebook with 8mb graphics (non accel) dinosaur .... Guess what, my app runs fine.... slow and clunky dynamic rotation but way better than the new fancy IBMs!!!!!!!

My worry is that when my software goes out live, we will have various people complaining and I'll spend most of my time supporting graphics issues.

Now I notice that a lot of game companies basically say ' We support NVIDIA 1234 etc and if your card ain't on the list then tough!!'

Maybe I should do the same?

Or is there a way to force software rendering?

Is there a OGL or Windows API call to detect onboard acceleration?

Or I could just turn off dynamic rotation (a bit poor really)

What would you guys do?

Any thoughts on this buffer thing??

I'll try and get the IBM model number but in reality it doesn't matter because its probably not just an IBM issue.

PS all desktops I have run are OK and so is my new notebook (256mb NVIDIA card though)

Many thanks for any input guys


Julian

Silkut
05-16-2006, 05:44 AM
You did not say if the laptop's gfx driver is up to date. Is it ?

MZIskandar
05-16-2006, 06:01 AM
intergrated gfx card - no gpu. maybe?

ZbuffeR
05-16-2006, 06:33 AM
strange that zoom and pan don't exhibit this buffering ...

joolz
05-16-2006, 06:37 AM
Thanks guys

The driver was NOT up to date... First thhing I checked really.

However, loading the 'latest' driver was even worse!!! Same sloooow performance but with colours missing -- ouch

I guess if its one of these cheapo integrated cards it would still show a small CPU use when rotating. Maybe the physical memory is slower or there is some sort of conversion going on?

I am trying to get the model name/number emailed to me (like a fool I didn't write it down when I was with the user)

At the end of the day my code needs to support all cards so,,,

I am thinking of including a switch to turn off hardware rendering and go with software. Assuming you can force a software render that is..... The Blue book calls :-)

Thanks for the input guys


Julian

joolz
05-16-2006, 06:40 AM
>>strange that zoom and pan don't exhibit this buffering ...

Yeah I thought that too...

One thought was that zoom/pan don't require a recalculation of the view? They are kinda just scaled/moved (if that makes sense?)

Rotate requires a recalculation of the view I guess?

xavirn
05-16-2006, 08:48 AM
How do you rotate, glRotatef?
Have you try, glMultMatrixf(rotation)?

Silkut
05-16-2006, 09:26 AM
Originally posted by MZIskandar:
intergrated gfx card - no gpu. maybe? Yep, always on laptops.

joolz
05-16-2006, 10:22 AM
>>How do you rotate, glRotatef?

Yup...

Performance is great on desktops.

My new (nVidia) laptop is also fine, as is my steam powered Dell Inspiron P2!.

I must admit, I don't fancy re-coding :-(
Lazy.... :-)

Is there a glForceSoftwareRender type command?

I guess there must be, because the commercial FEA tool I use has a 'hardware switch' and ships in software mode by default (presumably because they have had similar problems)

Thanks again guys..... I appreciate the help

joolz
05-16-2006, 10:41 AM
Looks like there isn't such a switch..but I can work round it

http://www.opengl.org/resources/faq/technical/mswindows.htm#0020