How to know if hardware acceleration is present? - Graphics

This is a discussion on How to know if hardware acceleration is present? - Graphics ; On some Windows PCs, I notice that I don't get hardware acceleration with OpenGL - my app still runs but it runs very very slow. The problem is that the correct driver for the video card is not loaded. Is ...

+ Reply to Thread
Results 1 to 2 of 2

How to know if hardware acceleration is present?

  1. Default How to know if hardware acceleration is present?

    On some Windows PCs, I notice that I don't get hardware acceleration
    with OpenGL - my app still runs but it runs very very slow. The
    problem is that the correct driver for the video card is not loaded.

    Is there a method by which I can determine if this is the case
    programatically and show the user a dialog instead of letting my app
    run really slow?

    Thanks.


  2. Default Re: How to know if hardware acceleration is present?

    soft_guy wrote:
    > On some Windows PCs, I notice that I don't get hardware acceleration
    > with OpenGL - my app still runs but it runs very very slow. The
    > problem is that the correct driver for the video card is not loaded.
    >
    > Is there a method by which I can determine if this is the case
    > programatically and show the user a dialog instead of letting my app
    > run really slow?
    >
    > Thanks.


    This is not so simple, because wheter opengl is hardware accelerated is
    not a yes/no question. Different cards support different features. I
    used to have GF4MX which runs opengl in hardware... except for
    accumulation buffer which was done in SW. All things run fast until you
    use gl_accum. Framerate drops to 1FPS. Voodoo cards had software stencil
    buffer. You fall down to software also when you turn on n+1 light
    source, when your HW is capable of n lights. Or when you use other
    unsupported feature. Unfortunately with OpenGL you cannot learn if it is
    using HW or not though it is transparent for the programists. However,
    there are workarounds:

    "If you are using the Win32 interface (as opposed to GLUT), call
    DescribePixelFormat() and check the returned dwFlags bitfield. If
    PFD_GENERIC_ACCELERATED is clear and PFD_GENERIC_FORMAT is set, then the
    pixel format is only supported by the generic implementation. Hardware
    acceleration is not possible for this format. For hardware acceleration,
    you need to choose a different format."

    If glGetString(GL_VENDOR) returns something other than "Microsoft
    Corporation", it means you're using the board's ICD. If it returns
    "Microsoft Corporation", this implies you chose a pixel format that your
    device can't accelerate. However, glGetString(GL_VENDOR) also returns
    this if your device has an MCD instead of an ICD, which means you might
    still be hardware accelerated in this case.

    You can also gather performance data by rendering into the back
    buffer and comparing the results against known performance statistics
    for your device. This method is particularly useful for devices that
    revert to software rendering for some state combinations or OpenGL
    features."


    wojek

+ Reply to Thread

Similar Threads

  1. MSXML hardware acceleration
    By Application Development in forum XML SOAP
    Replies: 2
    Last Post: 11-16-2007, 02:20 PM
  2. Can AJAX use hardware acceleration?
    By Application Development in forum Javascript
    Replies: 0
    Last Post: 07-26-2007, 08:08 AM
  3. Opengl Plugin -- Hardware Acceleration fails !
    By Application Development in forum Graphics
    Replies: 12
    Last Post: 01-13-2007, 10:11 AM
  4. is hardware acceleration support coming for GDI+?
    By Application Development in forum DOTNET
    Replies: 3
    Last Post: 04-27-2006, 03:44 PM
  5. hardware acceleration
    By Application Development in forum DOTNET
    Replies: 10
    Last Post: 04-02-2006, 07:05 AM