Multi core support ?
 1-11  12-23

Previous
Next
 From:  Michael Gibson
3166.12 In reply to 3166.11 
Hi Ola, actually it sounds like your machine is all working properly.

quote:
Edit: I noticed that during the build of LWO inside Moi, all 8 cores are working 100%. By that, I mean when I select LWO in the export saving options, the Meshing Options panel opens, and the build up of the model does its thing.

Yeah, actually that's the part that is multi-core enabled, the mesh generation part.

After the mesh has been generated and you want to write the LWO file to disk, that disk writing part will not use multiple cores anymore. Writing data to disk tends to be an inherently sequential function and is not really suited for the use of multiple cores.

But that disk writing part of the export process should not take hours and hours like the mesh generation part could sometimes take up in v1.

Are you seeing a long delay (like over 5 minutes say) for the final export step?

If you are working with large files, there is just a whole lot of data being processed, you will need some level of patience even on a fast machine. I've done a lot of work in v2 to shorten the overall time from multiple hours hopefully down to some number of minutes though. But that still does not mean that it will be instantaneous, you must still be patient enough to wait for some time on large data sets.

Could you give me some idea of how long the whole process is taking for you? There are basically 3 different stages - first the import of the file, then at export there will be 2 additional stages, a mesh generation phase (this is where multiple cores are used), and then the final stage is actually writing the mesh data to disk. How long are each of these stages taking for you?

If you are working with extremely large files, you might want to uncheck the "Weld vertices along edges" option at export time (on the expanded mesh options dialog, click the little arrow in the lower left corner of the dialog), which will avoid one other piece of processing during the writing the data to disk stage.

- Michael
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  OlaHaldor
3166.13 In reply to 3166.12 
I think you mentioned this earlier, but I didn't get it back then. :) So I stand corrected on this multi-core support issue.
I don't remember at this moment if all the cores are in action when I rotate or scale the models. Should it use all the cores? I can check whether it does or not tomorrow when I'm at work again.


The import process takes somewhere between 3-10 minutes, depending on what model I load. Sometimes less than a minute if it's a really simple model with VERY few things going on.

The import is one thing, but I'd like to scale and rotate too, since the scale of the models I receive is 150-200m high, while it should be more like 1,3m high. So scaling and reposition takes some time, maybe 15-60 minutes per model depending on how long I have to wait between scale/move actions in order to get it more or less correct.
Mesh generation is fast. About a minute when the the quality slider is set to about 10 or 8 maybe. Saving is no problem at all. Blink of an eye, and you'll lose it.

In total it comes down to somewhere between 20-60min per model to import, scale/move and then export.

I could do this in LightWave Modeler, but it takes far more time, and it will sometimes make Modeler crash due to the insane amount of polygons. We'll see if I can find a workaround somehow :)



If I un-check weld edges, will I be able to select a polygon and hit "Select connected" then? I honestly haven't tried to un-check welded edges. But renaming and grouping certain parts of the object to get some parts as rubber, something else as plastic or metal, it's crucial to be able to select a few polygons and hit the shortcut for "select connected" and then have the entire part selected and then apply a new surface.
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Michael Gibson
3166.14 In reply to 3166.13 
Hi Ola, so pretty much what you are describing is what you should expect on an extremely heavy model.

You just need to employ some patience when working with such large data sets.

It sounds like the import, and export steps themselves are reasonable - sounds like around 10 to 15 minutes for those parts all together?

That's a major improvement from MoI v1 where the mesh generation stage would probably take more like 1-2 hours on such a heavy model. In MoI v2 with various optimizations in addition to multi-core, that mesh generation stage is probably clocking in about 50 times faster than v1 on your 8-core machine.

It sounds like your biggest sink of time is trying to edit this huge model inside of MoI - if you can avoid that step and edit the model in LightWave maybe that would work better if you can avoid crashing LightWave, probably best would be to split the model up into some smaller pieces instead of just one huge chunk. You can do that by selecting parts of the model in MoI and using File/Export, which writes out only the selected objects to the file.

Probably one of the big time sinks when trying to edit the model in MoI is the undo units that are generated when you edit a model. Right now every edit that you do on a model will store a compressed full copy of that object in the undo stack so it can be restored. There is not currently any way to entirely disable undo, but I will see about adding that in.


If your model is so huge that you cannot really edit it inside of MoI or LightWave either, then you really need to break it into some separate file pieces instead of trying to deal with it all at once.


> I don't remember at this moment if all the cores are in action
> when I rotate or scale the models. Should it use all the cores?

No, that will not make use of multiple cores currently - the mesh generation stage is the only area of MoI that employs multiple threads right now.

My guess is that it is probably not so much the rotation or scale transforms themselves that are bogging you down but rather the generation of undo units.

Unfortunately making a program use multiple cores is one of the most difficult programming tasks that exist, and it is very easy to have subtle errors that are hard to track down and reproduce. So it isn't something that I can easily just immediately add to every piece of MoI across the board (which seems to be what you are expecting?), it has to be done with extreme care so it will be a targeted thing. For v2 the mesh generation at export which was usually the single most time consuming area was targeted.


> If I un-check weld edges, will I be able to select a polygon and
> hit "Select connected" then?

No probably not - so you will probably want to leave it checked. Checking it just causes some additional work to be done after the mesh generation stage, after you push the OK button on the meshing options dialog. But you are saying that stage is going very quickly for you anyway so there is no need to try and speed up that step.

- Michael
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  OlaHaldor
3166.15 In reply to 3166.14 
The largest IGES and STEP files I've received is about 200mb, with every nut and bolt needed for the construction to look just like the real deal. Not that I necessary need it for the visualization I do for them, but that's what I get from them, therefore it's a tedious stage to deselect all and select only what I want to export in several stages to individual object files.

I totally understand programming is hard work, there's a reason I don't do that kind of work and rather let others do it instead ;-)
I never thought about the fact that the reason for this time consuming job was due to the writing of a bank of undo/redo. Thanks for clearing that.

I'll see if I find a workaround for the scale/rotate work for LightWave and keep you guys posted. I guess I'm not the only LW user in here.


Again, thanks a bunch for your time!


Edit: I went into Options and under View -> Meshing parameters I set the Mesh angle to a larger number while I'm just scaling and rotating. This made the handling of these procedures quicker than before.

EDITED: 10 Jan 2010 by OLAHALDOR

  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Michael Gibson
3166.16 In reply to 3166.15 
Hi Ola, that's good news that reducing the display mesh density helps, that will also help keep memory consumption down a fair amount as well.

One thing that can help to reduce detail for little nuts and bolts pieces is to use the "Avoid smaller than" option in the expanded dialog at export time.

That lets you enter a distance, and any polygons smaller than that size will shift to get a much rougher mesh on them, things smaller than that size will get meshed to an angle of 35 degrees.

So if you enter in a distance about the size of one of those bolts, that will probably help to reduce the generated mesh density by quite a bit.


If its the more dynamic movement aspect of the moving and scaling that is bogging down, one other thing you can try is to enter numeric scale factors rather than picking points with the mouse.

For example if you want to scale all objects down to 1/100 of the current size, push Ctrl+A to select everything, then run the Transform / Scale command, and now type 0 <enter> to specify the 0,0,0 origin point for the scale's origin, and then type 0.01 <enter> for the scale factor.

- Michael
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Michael Gibson
3166.17 In reply to 3166.15 
Hi Ola, actually I'm kind of confused about your last message here.

Earlier you wrote that the import took between 3-10 minutes, and that at export time, mesh generation took 1 minute, and saving to the file was nearly instantaneous.

So that adds up to about 11 minutes of time, but you also wrote that along with scaling and positioning it would take you between 15-60 minutes to complete each model.

That means that it is taking you nearly 50 minutes to do just the scaling and moving part, is that actually correct?

I had assumed that you were seeing some kind of long pause after each scale or move, which I thought could be related to undo unit generation with a very heavy model. But in your most recent message you mention that decreasing the display mesh generation helped to speed up that process - however the only thing that will actually speed up is the screen redraw, not undo unit generation.

So when you were talking about it taking you a long time to do the moving and scaling part, do you mean that it is just the screen redraw that is going too slow?

One thing to note is that your screen redraw is much more dependent on your video card than on the number of CPU cores you have - do you possibly have some kind of underpowered video card on your machine?

Anyway, if your dynamic screen redraw is a problem the steps that I described previously where you can do transforms by just typing in the scale factor with the keyboard rather than moving the mouse around should help out a lot to get things done with much fewer screen redraws during the process.

You may also want to hide edges (use the "Types" section in the Scene Browser as a way to do this quickly) which can also help to speed up the display a lot - in many cases drawing the edge curves of models is actually the most time consuming part.


But it is not entirely clear to me exactly what you are running into with the moving and scaling part, if you could possibly describe what you are seeing in a bit more detail that could possibly help.

- Michael

EDIT: I see now in your original message that you have an GeForce 8800GT card - that's certainly a good card and for normal uses should be really fine. But if you are working at a particularly high complexity level you may think about upgrading it to get better 3D display performance, I think that card is part of the GeForce 8 generation of cards, and as you can see at: http://en.wikipedia.org/wiki/GeForce, there are some newer generations since then... It is possible that a more up to date card could help you if your problem is mostly related to display speed with high density models.

EDITED: 11 Jan 2010 by MICHAEL GIBSON

  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  OlaHaldor
3166.18 In reply to 3166.17 
Yeah it's possibly the redrawing that makes it so time consuming. I'm really out of clues, so that's why I tested that one, since you had given me tips about that setting earlier.


I'm thinking of a GTX 285 for the Mac, but it's too expensive for what I can afford at the moment. If they only could have PC market pricing for such equipment.. :-)
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Michael Gibson
3166.19 In reply to 3166.18 
Hi Ola, so does setting the display mesh density to be coarser make it workable for you?

I'd suggest setting (under Options > View > Meshing parameters) Mesh angle to 25 degrees and unchecking "Add detail to inflections".

Then along with that hiding all edges also can be a big boost to screen redraw time.

If that speeds things up enough to be usable then you may not need to get a new video card, although when dealing with very heavy models you generally want to have as up to date hardware as you can.

- Michael
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  OlaHaldor
3166.20 In reply to 3166.19 
Oh yes, it does a MAJOR difference in performance!
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  WillBellJr
3166.21 
The Add Detail to Infections was always the killer for me - I always make sure that's turned off.

-Will
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Michael Gibson
3166.22 In reply to 3166.21 
Hi Will,

> The Add Detail to Infections was always the killer for me -
> I always make sure that's turned off.

Also there was a bug in v1 where "Add detail to inflections" would mistakenly get really carried away and could over mesh things by a whole bunch.

That's fixed in v2 so it is not quite as bad, but it can still be a good idea to turn it off if you have a whole lot of stuff.

- Michael
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
 From:  WillBellJr
3166.23 In reply to 3166.22 
Interesting, I'll give it another try Michael - thanks for the info.

-Will
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged
 

Reply to All Reply to All

 

 
 
Show messages:  1-11  12-23