Slooooow OGL on new notebooks

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 :slight_smile: )

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

You did not say if the laptop’s gfx driver is up to date. Is it ?

intergrated gfx card - no gpu. maybe?

strange that zoom and pan don’t exhibit this buffering …

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 :slight_smile:

Thanks for the input guys

Julian

>>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?

How do you rotate, glRotatef?
Have you try, glMultMatrixf(rotation)?

Originally posted by MZIskandar:
intergrated gfx card - no gpu. maybe?
Yep, always on laptops.

>>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 :frowning:
Lazy… :slight_smile:

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

Looks like there isn’t such a switch…but I can work round it

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