Part of the Khronos Group
OpenGL.org

The Industry's Foundation for High Performance Graphics

from games to virtual reality, mobile phones to supercomputers

Results 1 to 5 of 5

Thread: Rendering speed with Qt, Coin3D, VSG OIV and SGI

Hybrid View

  1. #1
    Junior Member Newbie
    Join Date
    Sep 2009
    Location
    New Jersey, USA
    Posts
    8

    Rendering speed with Qt, Coin3D, VSG OIV and SGI

    I'm developing an application for Windows that uses Qt and Open Inventor. On some PCs, complex objects or large scene graphs slow the frame rate to a frame every few seconds. These PC are mostly Core 2 Dells with NVidea graphics cards and dual monitors. OTOH, on my development PC (Core 2 Dell, ATI graphics card, dual monitors) the frame rate is acceptable with these scene graphs.

    The interesting thing is that the slowdown happens with both VSG Open Inventor and Coin3D + Qt 4.5, but there is a very old legacy application that can display the same scene graphs which was built on SGI Open Inventor and FLTK; this works fine on all the PCs!

    I'm not sure what I'm looking for. Do VSG OIV/Coin3D handle OpenGL differently than the legacy SGI library, or could SoQt and its libraries/DLLs be the difference?

    Thanks in advance for any information!
    Martin

  2. #2
    Junior Member Newbie
    Join Date
    Jan 2005
    Location
    San Diego, CA
    Posts
    20

    Re: Rendering speed with Qt, Coin3D, VSG OIV and SGI

    Quote Originally Posted by martinb0820
    I'm not sure what I'm looking for. Do VSG OIV/Coin3D handle OpenGL differently than the legacy SGI library, or could SoQt and its libraries/DLLs be the difference?
    Yes, internally there are many differences between the old SGI code and current Open Inventor. Some possibly related changes are when/if display lists are built, use of vertex arrays, use of VBO's, etc. These changes generally produce better performance, but because some of them involve OpenGL extensions there is always a small possibility of a bad interaction with a particular board and/or driver. I would first check that the slow machines are using the latest Nvidia driver (could be a driver bug since you see a difference between Nv and Ati). If that doesn't help, let us know what version of OIV you're using and what kind of geometry you're rendering.

    -Mike

  3. #3
    Junior Member Newbie
    Join Date
    Sep 2009
    Location
    New Jersey, USA
    Posts
    8

    Re: Rendering speed with Qt, Coin3D, VSG OIV and SGI

    One new data point - it looks like the problem may be specific to 64-bit Windows. I loaded XP64 on my development PC, ran the application and experienced the slow frame rate. The application was not thrashing virtual memory, but the utilization of one of the CPU's looked like an amplifier being driven into clipping. This is very different from how it looks on 32-bit Windows, where it uses much less CPU.

    I'm using OIV 7.1 and am evaluating Coin3D 3.1.0, both with Qt 4.5. Both OIV and Coin3D seem to run about the same.

    An example of a geometry that causes problems includes:
    Coordinate3 { point (78045 values) }
    IndexedFaceSet { coordIndex (611276 values) }

    Although it might be possible to make the geometry easier to render, the fact that the legacy s/w works fine indicates that doint that shouldn't be necessary.

    Thanks,
    Martin

  4. #4
    Junior Member Newbie
    Join Date
    Sep 2009
    Location
    New Jersey, USA
    Posts
    8

    Re: Rendering speed with Qt, Coin3D, VSG OIV and SGI

    I profiled the code on 32- and 64-bit XP. Exactly the same code was running, animating the exact same scene graph. On XP64, the application was spending 74% of its time in wglChoosePixelFormat() in the OPENGL32 module. This routine didn't even appear in the 32-bit profile.

    Any ideas?

    Thanks,
    Martin

  5. #5
    Junior Member Newbie
    Join Date
    Sep 2009
    Location
    New Jersey, USA
    Posts
    8

    Re: Rendering speed with Qt, Coin3D, VSG OIV and SGI

    The problem appears to have been incorrect DLLs.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •