LDCad 1.2 Public Alpha 1


Re: LDCad 1.2 Public Alpha 1
#14
Unfortunately, the code I have right now is quite slow. The 10143 Death Star II model takes about 9 seconds to load on my Mac without this new code. Adding in the new code bumps that up to 21 seconds. I haven't done any general benchmarking to see if the new code is consistently doubling the load time, but it's very obviously quite slow (so much so that it's obviously not acceptable as-is).

The main reason its so slow is that it gets run at the last minute, right before the smoothing is performed on a part. That means that it's incredibly inefficient, because it is run on "flattened" part geometry. So, for example, for a 2x4 stud, it gets run against all 8 stud caps individually. The proper way to do it is to run it against the disc primitive once, and then reuse the results throughout the entire main file loaded by LDView. (This would prevent adding fake conditionals between two separate sub-files, but that shouldn't be much of a problem.)

I placed the code where I did because I wanted to see if it would work, and I knew that if I put it there, it wouldn't have any secondary effects. I need to put comparable code in the LDraw file-loading section of LDView, so it can be efficient (running once per unique sub-file), but in order to do that, I have to flag these calculated conditionals as being "fake", so they won't get drawn (slowing things down) when LDView is set to draw conditional lines.

So, the short answer to your question is no, because I'm never going to release what I have right now. However, the longer answer is that I can hopefully do either another Beta, or perhaps just a more limited test release, that includes code that produces the same end-result, but does so in a reasonable fashion.
Reply
« Next Oldest | Next Newest »



Messages In This Thread
Re: LDCad 1.2 Public Alpha 1 - by Travis Cobbs - 2013-02-20, 6:06

Forum Jump:


Users browsing this thread: 1 Guest(s)