RE: [Algorithms] Strips
Brought to you by:
vexxed72
From: Tom F. <to...@mu...> - 2000-08-17 18:14:12
|
Yes, you can always strip any list. What I mean is that the sort of highly twisted traversal path (with frequent little side-branches) that is optimal across a wide range of vertex cache sizes and behaviours usually has a larger index size (because of the large number of degenerate tris needed to turn corners and start elsewhere and so on) when stripped than when just using a standard list. You can get lower bandwidth with strips if the strips are long and straight, but in that case you are tuning for a specific cache size and replacement type, which you usually don't know. However, since the size difference is not something big like a factor of two either way, there is probably very little difference in the overall bandwidth, since the vertex data is the no.1 biggest chunk of data, so it's probably all down to personal preference. Tom Forsyth - Muckyfoot bloke. Whizzing and pasting and pooting through the day. > -----Original Message----- > From: Charles Bloom [mailto:cb...@cb...] > Sent: 17 August 2000 18:24 > To: gda...@li... > Cc: cb...@su... > Subject: RE: [Algorithms] Strips > > > > At 10:36 AM 8/17/2000 +0100, you wrote: > >I have a bit of a knee-jerk response to strips, because of their > >worse-than-list vertex caching (up to twice as bad). > However, since normal > >VIPM pretty much destroys the vertex cache anyway, this > argument doesn't > >hold much water! > > I don't understand why you say strips have a worse cache > behaviour than > lists. At the very worst, I can always make a strip which is > identical to > a given list. > > The list (abc)(def)... > is the strip (abccddef...) > > Which has identical vertex cache behaviour. Given, that's > not such a hot > thing to do, but when you optimize for vertex cache, you will > in general > be generating lots of rectangular grids of triangles in your > triangle list, > and those can be stripped neatly. > > Hence, I can write a new stripper which simply optimizes the > tri-list for > vertex cache and then tries to strip the resulting triangle > list by building > the "brute force" strip I describe above, but collapse the uneccessary > duplicated vertex indices when possible. I conjecture that on typical > meshes, you'd end up with a (maybe small) saving in the > number of indices > by using strips, and get (nearly) identical vertex cache behaviour. > > -------------------------------------- > Charles Bloom www.cbloom.com |