Hello Shuiying,

Hello, Sebastian

my model is simple 3D model like car (1MB), house(2~7MB).
That still says sort of nothing about the model ...

This application is a car simulator within the framework of OROCOS, which is a multi-task real time toolkit. OSG is used to display the simulator.

I took a look at the "root" code just now (I only here take over the half done job of someone else:-( ).

it shows that  there is:

a Qlist of   View3D, which is derived from  QOsgWidget and  osgViewer.

whenever there is a new subscenegraph (osg::group node), it will be added to a view3D(because it has a osg::group as a member);

at the same time the cameraNode of this subscenegraph will be collected by a cameraCollector; (so that all camera will be controlled to act coherent)

Then this view3D(as a QOsgWidget) will be added to   QMainFrame.

I think this following  line of source code may help explain the problem:

connect(&mTimer, SIGNAL(timeout()), this, SLOT(updateGL()));
    mTimer.setInterval(30);
    mTimer.start();

So the scene update rate is not controlled by GPU or something, it is controlled by QT timer, that is disappointing.:-(
You're right.
The problem is that timer will fire every 30ms which should give you around 33Hz maximum (effectively it will fire around twice the time your OS schedulers minimum thread time).
Anyways, for the maximum framerate try setInterval 0 or 1.

Am I right here?

So is there a way to get higher "FPS" based on this condition?
That depends. You reported 300ms per update, which is 3 FPS, so increasing the frame rate is not purely based on your timer. First of all: Is your project running in debug or release mode? If it is debug I strongly suggest measuring any timings in release only, as the debug overhead is huge. If you're already running release the problem is most likely in your models. There is just no general suggestion how to improve rendering time, as it mainly depends on the scenegraph's structure.
Maybe running an optimizer on the model will fix some of the major problems.
In order to see if there is a framework induced penalty you should try to load a model with the osgviewer and check the framerate there (just press 's' to see the framerate and other statistics). If the framerate there is much higher than in your application, there most likely is a problem in your application. If not, your model is quite heavy. If you wont mind sharing one of the models (you can also send it to my private address if you don't want to make it public) I can see what are my results here with my renderer.

cheers
Sebastian

Thanks a lot in advance!

Shuiying





On 02/04/2012 09:47 PM, Sebastian Messerschmidt wrote:
Hello Shuiying

You didn't tell us what kind of models. If I would add 51 of my terrain models i'd be happy to get 3 frames ;-) Also you didn't tell us what your application is ... more or less only a osgviewer? In case you provide a little more detail you probably get some answers/help

cheer
Sebastian
Hello,

This is somehow frustrating, if the rendering rate is the same with update rate.

I check the update interval of the sceneNode in my application, it turns out to be 300ms.

I only attach 51 3D models in my application.

when there is only 5 3D models, the interval is 70ms.

I just wonder whether it is normal or not?

And update rate is the same with rendering rate?

Thank  you very much for any advice!

shuiying


_______________________________________________
osg-users mailing list
[email protected]
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org



_______________________________________________
osg-users mailing list
[email protected]
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org

Reply via email to