Part of the Khronos Group
OpenGL.org

The Industry's Foundation for High Performance Graphics

from games to virtual reality, mobile phones to supercomputers

Page 1 of 2 12 LastLast
Results 1 to 10 of 11

Thread: Display Lists and DrawElements performance

  1. #1
    Intern Contributor
    Join Date
    May 2002
    Location
    AUSTRIA
    Posts
    83

    Display Lists and DrawElements performance

    Hi There!
    I made a comparison of different display methods. I have about 400.000 vertices and QUADS. The elements are grouped depending on a defined property. These groups get different colors. I display the elements with :
    A:drawElements, one array for all the indices
    B ne Display List within all the indices and only one color for all the elements.
    C:a Display List for each color groupe

    The get the best performance with method B, but i can only assign one color. Therefore i created method C: But method C is equal ore slower then A. I get only 6fps in wireframe mode on a Athlon 900 and GeForce 4600. How can i maximize my performance without beeing platform dependent? Should i split up my vertex array, or what??
    Thanks
    Juergen

  2. #2
    Senior Member OpenGL Guru knackered's Avatar
    Join Date
    Aug 2001
    Location
    UK
    Posts
    3,032

    Re: Display Lists and DrawElements performance

    Depends on the vendor....
    Try running some tests at initialisation - you know, try all those methods over a period of 1 second each, and select the method that comes up fastest on the host 3d card.
    Knackered

  3. #3
    Intern Contributor
    Join Date
    May 2002
    Location
    AUSTRIA
    Posts
    83

    Re: Display Lists and DrawElements performance

    I am developing using linux and WINXP. I can not test the HP or SGI plattfrom, because i do not have one now. So, do you think that the method i use is dependent on the plattform?

  4. #4
    Senior Member OpenGL Guru knackered's Avatar
    Join Date
    Aug 2001
    Location
    UK
    Posts
    3,032

    Re: Display Lists and DrawElements performance

    You mean platform literally?
    I thought you were confusing terms - I thought you meant platform as in 3dcard.
    As for platform as in operating system, then you can use the various 3dcard specific extensions on whichever operating system you wish.
    Knackered

  5. #5
    Intern Contributor
    Join Date
    May 2002
    Location
    AUSTRIA
    Posts
    83

    Re: Display Lists and DrawElements performance

    I also want to be independent of 3d Hardware. SO, i do not want to use extensions, which are from NV, or some one else. What do you think about the three methods ore other?? Are there better ones. 6fps is slow!

  6. #6
    Junior Member Regular Contributor
    Join Date
    Aug 2001
    Location
    England
    Posts
    174

    Re: Display Lists and DrawElements performance

    First, I'm going to assume that 400.000 is four-hundred-thousand, I know some countries use the period seperator.

    Anyway, 4hk verts in one array might be killing the cache on your card... perhaps, as you say, splitting the array into more chunks might provide better performace - try chunks of 20-50k or something.

    Also, you might try using triangle strips as a primitive rather than quads, although they are brought down internally by the driver (I think) to triangles, strips would allow to specify less vertices on the whole.
    I'll see if I can think of anything else.

    -Mezz

  7. #7
    Senior Member OpenGL Guru knackered's Avatar
    Join Date
    Aug 2001
    Location
    UK
    Posts
    3,032

    Re: Display Lists and DrawElements performance

    I found quad strips to be faster than triangle strips - although they are more limited in what you can do with them.
    Knackered

  8. #8
    Intern Contributor
    Join Date
    May 2002
    Location
    AUSTRIA
    Posts
    83

    Re: Display Lists and DrawElements performance

    I only have to split up the array of element indices, but not the array of vertex data. Is this right, or should i split my vertex array?

  9. #9
    Junior Member Regular Contributor
    Join Date
    Apr 2002
    Posts
    101

    Re: Display Lists and DrawElements performance

    Question...

    Have you tried seeing what values are reported with a call to
    glGetIntegerv(GL_MAX_ELEMENTS_VERTICES, &some_int);
    and/or
    glGetIntegerv(GL_MAX_ELEMENTS_INDICES, &some_int);
    and seen if your numbers fall within those ranges. If I'm not mistaken (please correct me if I'm wrong), I believe those two are supposed to give some idea as to how big of a data set the implementation will support reguarding vertex arrays.

    Dan

  10. #10
    Intern Contributor
    Join Date
    May 2002
    Location
    AUSTRIA
    Posts
    83

    Re: Display Lists and DrawElements performance

    Yes i did. It is 4096. But does it mean that i have to create about 100 arrays holding the vertices and the same for the elements? Then i have to create a call drawelements for each of these arrays. Is this correct??

Posting Permissions

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