Advertisement

GLlist with gl_compile slower than the simpler way

Started by April 02, 2002 03:28 AM
7 comments, last by Alex2k 22 years, 10 months ago
well, In my first release I used to load up data from a file and store it all in a pointer (made with new)....I ended up having a pointer with all the triangles verteces plus the triangles normals. I would rescan the whole pointer and pass the data to opengl with glVertex3f and even if not so fastly it worked (a 15000 trindles model at 32fps on my geforce 1....is this a good framerate or should it be a much faster?....anyway, to try speeding it up I tried passing it to a GLlist with compile (I mean GL_compile).....it works great and it shows the model but it''s about 10fps slower than the other method!! how can it be possible? many thnx PS also, is there anyone who can suggest me some good tutorials about opngl arrays of verteces? thnx
you are probably building DL every frame. Just create DL at start time.
about Vertex Arrays : look at red book (link at nehe''s main site).. and search google (there is ALOT about them)

There are more worlds than the one that you hold in your hand...
You should never let your fears become the boundaries of your dreams.
Advertisement
even though I''m 100% I only build the list once, I''ll double check. As for the Vertex Arrays, I''ll use google as suggested by you but could you tell me if it would be faster for my case or just as fast as display list.
thnx
You REALLY need to use vertex arrays. And definately nvidias nv_vertex_array_range extension.

But you should figure out how to use vertex arrays first before trying to use that extension.
like AP said : everybody should learn to use VA and when you know that try nVidia''s VAR or ARI''s VAO. But DL still come in use in state batching (grouping 20 glTexEnv() calls into one calllist )

There are more worlds than the one that you hold in your hand...
You should never let your fears become the boundaries of your dreams.
Hey guys, I think you know it incorrectly.
Nothing should be faster than displaylists. Even VAR is slower with a good driver AFAIK.

DisplayList:
"Can encapsulate data in the most efficient manner for hardware, though they are immutable (i.e. once created, you can’t alter them in any way)."

A displaylist can be optimized to hw as it can''t be changed. That''s why the driver can do everything with it to achieve the best performance.

Cheers


-- tSG --
-- tSG --
Advertisement
straight copy from nVidia''s performance FAQ

you have to take this things a bit easy.. this is mosty theoretical. In practical use in real application VA are used much more common.

There are more worlds than the one that you hold in your hand...
You should never let your fears become the boundaries of your dreams.
quote:
Original post by _DarkWIng_
straight copy from nVidia''s performance FAQ



Good observation! Congrats!
I don''t know which is faster. It would definitely worth a try! And nobody had done it so far... so that is waiting for me? I hate nv_fences and own memory management

I have seen a little comparison - unfortunately it didn''t contained VAR - but used immediate mode, va-s, cva-s, display lists etc. And it is an interesting fact that using va in display list is faster than using immediate mode in display list. That proves that DL-s are not absolutely optimized

Btw. do you know anything about nvidia''s tristrip program? It doesn''t contain a performance meter so I don''t know how much performance it gains. (I know tristrip gains a lot but it also contains something cache-friendly code or what And how can I decide which setting is the best with it? (minimum strip length)

Cheers,


-- tSG --
-- tSG --
Will this topic sink? If not, please send me the reply to tsg@coder.hu, because I won''t be in the near of the internet till sunday.

Thx


-- tSG --
-- tSG --

This topic is closed to new replies.

Advertisement