Subject:
|
Re: 81 million points
|
Newsgroups:
|
lugnet.cad.dev
|
Date:
|
Wed, 21 Jan 2004 18:19:19 GMT
|
Viewed:
|
1513 times
|
| |
| |
In lugnet.cad.dev, Don Heyse wrote:
> > involved deserved a post.
> >
> > Just out of curiosity, I stuck a counter in my development LDView
> > code to count the number of points being drawn. I loaded up the
> > copy I have of town.dat (datsville), and was rewarded with a result
> > of 81,414,314 points (without edge lines), which rendered at about
> > 0.6fps (48 million points per second). I switched to low-res studs,
> > and got 46,266,666 points (also without edge lines), which rendered
> > right at 1.0fps.
>
> Wow. That must be amazing in fly-thru mode. I'm also curious. What
> sort of CPU and how much memory do you have, and how much of that was
> in use by the LDVIEW?
My system is a 2.4GHz P4 with 1GB RAM. However, according to the Windows XP
task manager, LDView was only using about 125 megs when the model was loaded
with normal-res studs. (This compares very favorable with the current LDView
release that will run out of memory and crash on that model with 2.5GB virtual
memory available. ;-)
My video card is an ATI Rage 9700 Pro with 128 megs. One conclusion I have come
to since switching to this card is that nVidia did a really good job of making
display lists fast with old-style OpenGL commands (glBegin(), glVertex(), etc),
and ATI didn't. This new LDView is currently over twice as fast as the old one
on a more reasonably sized model on the ATI card. The difference is much less
on the old nVidia card. (The new one uses vertex arrays, which everyone says is
the way things are supposed to be done, but nVidia managed to optimize the
old-style OpenGL commands when put into display lists.)
> > The official marketing spec for my video card is 325 million
> > triangles per second. For various reasons, this effectively ends up
> > translating into points per second. So either my code doesn't do a
> > very good job of taking advantage of the video card, or the
> > marketing spec is unattainable in the real world. (Actually, it's
> > probably a combination of both.)
>
> I bet you have to get all your display list(s) and vertex arrays into
> the video card memory to get anything close to that number.
Actually, I'm using a set of display lists for each part in the new code.
(Mirrored parts get a second set of display lists with reversed polygon
winding.) The currently released LDView uses one big display list for the
entire model. However, there are at least two main reasons for the lack of
speed. The first is that I'm not using vertex array objects (VAO) or vertex
buffer objects (VBO) (VAO is an ATI-specific extension to get the geometry onto
the card; VBO is a new standard extension for doing the same thing). The second
reason is that I'm not using BFC at all. I assume that all the quoted
performance figures assume that at least half of the geometry is back-facing,
and therefore culled.
--Travis
|
|
Message is in Reply To:
| | Re: 81 million points
|
| (...) Wow. That must be amazing in fly-thru mode. I'm also curious. What sort of CPU and how much memory do you have, and how much of that was in use by the LDVIEW? (...) I bet you have to get all your display list(s) and vertex arrays into the (...) (21 years ago, 21-Jan-04, to lugnet.cad.dev)
|
4 Messages in This Thread:
- Entire Thread on One Page:
- Nested:
All | Brief | Compact | Dots
Linear:
All | Brief | Compact
|
|
|
|