Advertisement

Vertex arrays

Started by August 21, 2000 04:26 AM
15 comments, last by Danack 24 years, 3 months ago
they are fickle beasts i grant u that goto the nvidia site and download the spheremark demo
50kb download and share your results heres mine all in the default window size

heres my results on my vanta
vinilla
Vertex arrays 0.307
displaylist 0.348
immediate 0.400

with textures
Vertex arrays 0.282
displaylist 0.336
immediate 0.393

not using tristrips + no texture
Vertex arrays 0.153
displaylist 0.336
immediate 0.399
Is it the LOWER the number the better?

In any case vertex arrays are fickle beasts. Compiling geometry to display lists allows the driver to package the data how IT wants to. So it does so in a manour thats most efficient for it.

With compiled vertex arrays you don't know what the hardware's "fastest path" is. If you read the Nvidia Geforce FAQ's they tell you to put pad bytes all over the place to keep all the geometry byte aligned to how the card likes it.

The moral - Use display lists whereever possible. Also use strips and fans, they reduce geometry bandwidth by not resending shared data.



Paul Groves
pauls opengl page
paul's opengl message board

Edited by - Pauly on August 23, 2000 10:50:54 AM
Paul Grovespauls opengl page
Advertisement
sorry those numbers are in milliions of tris pers second (ie the higher the better)
but interesting still display lists are slower than immediate
ok ... i found out whats wrong with glLockArraysEXT :-))

it just supports a max value of 4096 indices ...
this makes it PRETTY useless for huge models if u dont want to split them ....

but it gives me with my adjusted code a FPS-difference of ~30%...

im drawing ~40.000 triangles ... with glLockArray fps~40 ... without its ~25fps


i still have to figure out if there is any good way to work with that 4096 max-value ... you can draw a full list of 1365 triangles (not striped...) ... thats not much if u want to draw a landscape --> either you split your landscape in pieces of 1365 triangles ..... or .... i dont know

the speed without glLockArrays sucks pretty much for Vertex Arrays ...

and for me display lists are still twice as fast as common vertex arrays ... (i got a TNT 2 ... latest drivers ... PIII-450)
u shouldnt be drawing all your landscape on the screen at once mate have a look at using quadtree (prolly the best for a landscape) , octree
heh
thats my problem ....
drawing the FULL terrain by a display list is faster than a octree or bsp tree using common vertex arrays when u just draw a piece of it... (without gllockarraysext...)

Advertisement
of course this is all relative on the speed of your card vs the speed of ure cpu vs what youre trying to accomplish in your program. also what might be faster for u might not be faster than joe blow. ie 40000 tris on all consumer except for the hardware tnl ones will choke. eg i know with my hardware the best case senario is 400000 tris per second and im talking pathetic tris,

This topic is closed to new replies.

Advertisement