To LUGNET HomepageTo LUGNET News HomepageTo LUGNET Guide Homepage
 Help on Searching
 
Post new message to lugnet.cad.dev.macOpen lugnet.cad.dev.mac in your NNTP NewsreaderTo LUGNET News Traffic PageSign In (Members)
 CAD / Development / Macintosh / 610
609  |  611
Subject: 
Re: Mac Brick CAD and the Imerial Star Destroyer
Newsgroups: 
lugnet.cad.dev.mac
Date: 
Mon, 17 May 2004 17:22:49 GMT
Viewed: 
1918 times
  
In lugnet.cad.dev.mac, Andrew Allan wrote:
Yes,

When loading I make a list of all the unique bricks in the model (colour and
type) these are then cached as OpenGL lists of so when drawing, I then just call
the various OpenGL lists.

I have a few comments--based on my experience writing LDView--that I think could
improve your load performance.  First of all, I believe what you are saying
above (and a little later in your post) is that you only cache complete bricks.

If this is the case, you should be able to improve your load performance
substantially by caching the decoded version of every single file.  Note, this
is the version in your own internal memory format, prior to the file being
compiled into a display list.

LDView does this, and the model takes about 20 seconds to load and compile on a
2.4GHz P4.  Only about 10 seconds of that is loading, the rest is compiling the
display list.  And the current LDView doesn't do a very good job there, since
after loading the model it flattens it into one single huge list of geometry,
copying the internal versions of every brick as it goes.  It then creates one
giant display list for the entire model.

The next version of LDView that I'm working on is a lot more reasonable, doesn't
do any of that, and loads the model in around 6 seconds.  Memory usage is rather
remarkably different between the two LDView versions, also.  The current one
uses around 600 megs for the model, the next one uses quite a bit less than 100
megs (I don't remember how much, just that it was well under 100 megs).

One other thing can be done to cut down on memory usage, but it's a lot harder.
That is to only have one set of display lists per part, instead of having one
display list for each color of each part.  In order to make this work, you have
to split the part into up to at least 3 display lists.  One contains all the
color 16 geometry, another contains all the color 24 geometry, and the third
contains all the other geometry.

--Travis Cobbs



Message is in Reply To:
  Re: Mac Brick CAD and the Imerial Star Destroyer
 
(...) Yes, When loading I make a list of all the unique bricks in the model (colour and type) these are then cached as OpenGL lists of so when drawing, I then just call the various OpenGL lists. For the imperial star destroyer, this means even a (...) (20 years ago, 17-May-04, to lugnet.cad.dev.mac)

19 Messages in This Thread:





Entire Thread on One Page:
Nested:  All | Brief | Compact | Dots
Linear:  All | Brief | Compact
    

Custom Search

©2005 LUGNET. All rights reserved. - hosted by steinbruch.info GbR