OpenGL - display lists

Everything todo with programming goes HERE.
Post Reply
User avatar
Lucifer
Project Developer
Posts: 8640
Joined: Sun Aug 15, 2004 3:32 pm
Location: Republic of Texas
Contact:

OpenGL - display lists

Post by Lucifer »

Ok, so I read n54's sticky about how you should preface the subject with something like a language, I guess OpenGL is its own little language. :)

So, my question, are there any cross-platform/cross-video card issues I should know about before using a display list? I seem to recall there being a setting in Armagetron for it, and I would presume it would exist for a reason...
Image

Be the devil's own, Lucifer's my name.
- Iron Maiden
User avatar
Z-Man
God & Project Admin
Posts: 11587
Joined: Sun Jan 23, 2005 6:01 pm
Location: Cologne
Contact:

Post by Z-Man »

As far as I remember, some S3 cards did not support display lists when I added that option. NVidia and ATI cards are fine.
User avatar
Lucifer
Project Developer
Posts: 8640
Joined: Sun Aug 15, 2004 3:32 pm
Location: Republic of Texas
Contact:

Post by Lucifer »

Any idea what the performance increase can look like? I tried a display list on the grid and saw no change in fps.

Aha, but then I rewrote the plotter to be a circle, and if display lists can be that much of an improvement, I'd love to generate a finer circle into a display list, but I don't want to generate too fine a circle in each frame, you know?

Also, if the card doesn't support it, what happens to the display list? Does the driver just handle it as software or does the program just not work?
Image

Be the devil's own, Lucifer's my name.
- Iron Maiden
User avatar
Z-Man
God & Project Admin
Posts: 11587
Joined: Sun Jan 23, 2005 6:01 pm
Location: Cologne
Contact:

Post by Z-Man »

Lucifer wrote:Any idea what the performance increase can look like? I tried a display list on the grid and saw no change in fps.
In AA, I don't get a significant FPS increase either; that's to be expected because on all of my boxes AA is fillrate limited and the pixel load is of course unaffected. But on profiling, the CPU load goes down by 2%. Considering that the model rendering, which is the only part where AA uses lists, is just simple polygon pushing, this is a good improvement. If you put things in a list that require calculations, the effect is likely to be much bigger.

As an alternative to display lists, there are of course also vertex buffers. They require using an extension, however.
Lucifer wrote:Also, if the card doesn't support it, what happens to the display list? Does the driver just handle it as software or does the program just not work?
Both things can happen. Bach with the S3's an Armagetron, the cycles were just not rendered at all. I guess this qualifies as "does not work". On a fully supported pre-TnL card (like a TNT or Voodoo), things are likely to be handled in software by the driver.
User avatar
Jonathan
A Brave Victim
Posts: 3391
Joined: Thu Feb 03, 2005 12:50 am
Location: Not really lurking anymore

Post by Jonathan »

Note about portability: Since OS X 10.4 cycle DLs broke on my Mobility Radeon 9600.

Code: Select all

GL_VENDOR: ATI Technologies Inc.
GL_RENDERER: ATI Radeon 9600 OpenGL Engine
GL_VERSION: 1.5 ATI-1.4.6
Driving and killing shadows with walls is not fun. :(

I don't have other problems with DLs.
ˌɑrməˈɡɛˌtrɑn
Post Reply