V2 beta Jan-19-2009 available now
 1-13  14-33  34-53  54-73  74-86

Previous
Next
 From:  -ash-
2333.14 In reply to 2333.13 
Here's my times for meshing this:




Time are minutes:seconds:

V1 = 2:38
V2 Nov-21 = 1:54
V2 Jan-19 1 core = 0:19
V2 Jan-19 2 core = 0:10

Processor Core 2 Duo E6600 @ 2.4 GHz

That's a massive improvement. Great stuff Michael!

Plus the meshing problem I had is now gone too.

Regards
Tony

Attachments:

  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
2333.15 In reply to 2333.14 
Hi Tony,

> That's a massive improvement. Great stuff Michael!
>

Thanks for testing it!

This level of speed increase should help to make it more convenient when working on higher detailed models I hope.


> Plus the meshing problem I had is now gone too.

That's great! Wow - not only so much faster but also better quality too - normally I am supposed to make you pick only one or the other of those, not both! :)

- 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:  Grendel
2333.16 
OK here is my test with my home dual quad xeon using the default mesh setting for my connector http://moi3d.com/forum/messages.php?webtag=MOI&msg=2284.1

V.1 15:17
v.2 single core 1:34
v.2 eight cores :23

441,983 polys

Great job michael. I did get one out of memory indicator that shut down the meshing the first time but I closed MOI and re-opened the file and have not been able to replicate it again.
Image Attachments:
Size: 21.5 KB, Downloaded: 8 times, Dimensions: 242x285px
  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
2333.17 In reply to 2333.16 
Hi Grendel, thanks for testing it!

Hmm - from V1 15 minutes to V2 23 seconds is a factor of nearly 40! That's certainly a record so far.

I tend to get something around 20 to 25x on my quad core over here, so your measurement is fairly consistent with around double that, but your measurement with the new engine limited to a single core seems to show that there may be some further tuning possible. I'm not very sure that I will be able to do that right now though, further tuning beyond this may be fairly hard work. One thing that is very good though is that it does not choke with 8 cores running, it is actually possible with multi-threaded code to get cases where increasing the number of cores actually makes things worse instead of speeding things up, if there is a problem of too much "contention" between the cores.

Re: running out of memory - yeah since now you can more easily spew out a huge number of polygons there is also an improvement to handle out of memory conditions better, instead of just crashing or something it will show that warning when it ran out of memory when trying to complete the current task.

I guess that probably happened when you got most or all of the 8 cores happening on crunching away on those long helix surfaces, those will kind of spike to a higher level of memory consumption during their subdivision process, so getting a bunch of those all going at once will put a pretty big spike in memory consumption. It will bump back down after each one is finished and the final mesh is extracted but if you bumped up beyond your full system memory during the spike, that will be a problem.

That's kind of an interesting problem with a higher number of cores that I hadn't really considered too much.

I think you mentioned that you are running XP 32 bit? Are you already running with the /3GB switch in boot.ini? (http://www.microsoft.com/whdc/system/platform/server/PAE/PAEmem.mspx)

If not then this may be something you'll need to use to increase the available memory for MoI to allocate when you have some longer surfaces in your model plus a high number of cores.

Anyway, it is pretty cool to go from something that took 15 minutes to less than 30 seconds on the same machine! :)

- 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:  Brian (BWTR)
2333.18 In reply to 2333.17 
Uncool in the discussion?

Brian REMEMBERED how to add the plugin/shortcuts to get them to work!

Well---you have to have some slow learners!

Brian
  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:  AW (AWSILVER)
2333.19 
WOW!

I'll try to go back and run some "actual" benchmarks, but seeing the same results here (multiple times faster meshing -- opening of files seems a little snappier too (might just be the excitement))!!!

Excellent work MG!!!

Attachments:

  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
2333.20 In reply to 2333.19 
Hi AW,

> opening of files seems a little snappier too (might just be
> the excitement))!!!

I think that opening of files should probably be the same... Probably just some feeling of momentum carrying over from the other speedups! :)

But now that I have a thread-safe meshing mechanism it will open up the door for me to do some things that will speed up file opening for real though.

I should be able to get the display mesher to run on multiple cores now - currently the display mesher (which is used during file open) does not use multiple cores, only the file export mesher is doing that now.

Then the other thing that I've been thinking of doing is to do an initial pretty rough display mesh (or even skip doing it and have only edge wires initially if it takes more than a couple of seconds), and then do a higher density display mesh calculation in the background. The higher density display meshes would kind of spool in while you are able to do other work on the model.

Those are some ideas anyway! Actually I don't think these will be all that difficult, the difficult part of these was to make the meshing engine thread safe which is all done now. But kind of a good first stage is to get that tested here first with the export meshing in this new release.

- 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:  Grendel
2333.21 
Michael - Yes I'm running with the 3Gb switch, I think you've done a wonderful job with the mesher. Now time for .........scene management ;)
  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
2333.22 
Other notes on new stuff for in the Jan-19-2009 version:


The speed improvement on transforms (such as dragging, mirroring, arraying) works by a special "proxy" being used when the objects involved have more than 50 faces. Instead of creating a completely new object, the proxy will re-use the existing object and just draw it in a new location which is much faster than making a full copy if the object is complex. This allows for much smoother and faster dynamic feedback when moving the mouse around during transform operations on large objects. The 50 face threshold limit can be changed in moi.ini :
[Transform]
ProxyGenerationNumFaces=50
A proxy is not used for smaller objects so that you can get more history feedback on small objects, when a proxy is used any history update will not be applied until the transform is complete.


Updated mirror command so that objects that are not solids will not have their normals flipped after they are mirrored which would previously happen.


Enabled making copies while in edit frame wheel mode, by holding down Ctrl before dragging the mouse.


Enable grabbing an object snap point in wheel mode, rather than only grabbing on the wheel - this allows for grabbing a reference point to do an accurate rotation relative to some particular point on an object, which you previously had to use the Transform/Rotate command to do.
For examples see: http://moi3d.com/forum/index.php?webtag=MOI&msg=2243.8


Open as Read-only option. You can enable a "read only" checkbox for the file open dialog by a setting in the moi.ini file:
[FileDialog]
EnableReadOnlyCheckbox=y


You can now open a file as a "Template file" by using a right-click on the Open button. When you open a file as a template file, the current file name will remain blank so that it is not so easy to save over top of the template file itself.


New option to specify a startup template under Options / General / Template file. This allows you to create a file set up with the views and any template objects or other file properties that you want in it and have that file automatically opened when you start up MoI or do File/New.


Updated the FBX toolkit library to the latest 2009.3 version.


Update grid snap menu - added grid size and snap size entries to the mini grid snap menu that pops up above the grid snap button.


Made Ctrl+click be a "prefer deselect" mode. There is normally a preference that targets unselected curves in an area where many curves are nearby when you click, to make it easier to select them. Now when you hold down the Ctrl key this will be inverted to prefer targeting selected curves. This makes it easier to deselect an already selected curve in a crowded area when Ctrl is down. Additionally if Ctrl is down then a drill-in will not be done when clicking on an already selected solid so that you can deselect a solid with a single ctrl+click.


Updated NURBS export to SAT, IGES, and STEP formats - turned off analytic entites export by default and fixed some bugs in analytic export. There are now 2 settings to control enabling analytic export in the moi.ini file, one for curves and one for surfaces:
[NURBS Export]
WriteAnalyticCurves=n
WriteAnalyticSurfaces=n


Added some script functions to access the camera point from a script, it is now possible to run this script on a keyboard shortcut to copy the camera and target points to the clipboard so you can find out where they are to set them in another program:
script:var v = moi.ui.mainWindow.viewpanel.getViewport('3D'); moi.copyTextToClipboard( 'Camera=' + v.cameraPt.toString() + '\r\nTarget=' + v.targetPt.toString() );


Promoted LWO scale to meters setting to have an entry in the Options dialog, under Options / Import/Export / LWO .


Added option for LWO export to use either Modo's or LightWave's coordinate system for vertex normals. Unfortunately each of these programs uses a different coordinate
system for vertex normals. Which one is used can now be set in moi.ini under:
[LWO]
VertexNormalsStyleModoOrLW=Modo
the default is Modo, to set it to LightWave style switch it to:
[LWO]
VertexNormalsStyleModoOrLW=LW


There is now a new "Orient ortho views" option that you can un-check when setting up a cplane, which will leave the ortho views in their default world orientations but make the changed cplane available inside of them. This can help if you are tracing an image in the top view and you want the view to remain locked down in its regular viewing direction, but still change the cplane to an angle to draw over a particular angled part of the image.


updated line display - now when viewing a line in a viewport that is looking directly point-on to it, the line will show up as a small dot rather than being completely invisible.


There are now options in moi.ini for setting the default values used for meshing:
[Mesh Export]
Angle=
DivideLargerThan=
DivideLargerThanApplyTo=
AvoidSmallerThan=
AspectRatioLimit=


Also a variety of smaller bug fixes...


- 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:  DannyT (DANTAS)
2333.23 In reply to 2333.22 
Cheers Michael, some good stuff there!

---------
~Danny~
  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
2333.24 In reply to 2333.23 
Thanks Danny!

You may be particularly interested in the startup template file - this should allow you to now set up a parallel view by default if you want.

To do that, save off a file that is set up to have a parallel view and set that file as your startup template under Options / General.

Then when you launch MoI or do File/New you should get your parallel view going there by default.

- 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:  DannyT (DANTAS)
2333.25 In reply to 2333.24 
Well there you go! I was sort of of doing a mental list of things that I use that I have to switch on during a new session.

1. Parallel View :)
2.....

Thanks for that Michael.
~Danny~
  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:  -ash-
2333.26 In reply to 2333.25 
Lots of good stuff there Michael.

I didn't know about the vertex normals thing between Lightwave and modo as I only have modo. Which way did MoI do it before this update?

Regards
Tony

  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:  Anis
2333.27 In reply to 2333.25 
Hi Danny,

What is parallel view ?

Edit :

Hi Michael...

I am not clear about this :
"Added some script functions to access the camera point from a script, it is now possible to run this script on a keyboard shortcut to copy the camera and target points to the clipboard so you can find out where they are to set them in another program:
script:var v = moi.ui.mainWindow.viewpanel.getViewport('3D'); moi.copyTextToClipboard( 'Camera=' + v.cameraPt.toString() + '\r\nTarget=' + v.targetPt.toString() );"

EDITED: 21 Jan 2009 by ANIS

  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:  George (GKSL4)
2333.28 In reply to 2333.27 
Hi Michael,

Formula-1 progress!!! Let us have a pit-stop.

Thanks,



George
  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:  JTB
2333.29 
Great new stuff as always!!!
***Modeler Of Ideas***
  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:  Lemo (LEMONNADO)
2333.30 
On Vista 64 Ultimate 6GB and IP7 2.6GHz a whopping 576 Solid pieces were converted into a 108MB .obj with 6456724 Polygons and 6467653 Point Count in less than 10 secs for screen display and saved in another 20-30 secs. More was not possible as that took 3.99GB Mem and a peppermint or polygon more would have caused a mess.

You're on to something Michael!!!

8)))
Rainer
  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:  Frenchy Pilou (PILOU)
2333.31 In reply to 2333.30 
Maybe you must write 6 456 724 Polygons and 6 467 653 Point Count, more easy to understand the tremenduous numbers! :)
  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:  Tommy (THOMASHELZLE)
2333.32 In reply to 2333.31 
Hi Michael,

wow, this is more than breathtaking:
MacPro, Dual Quadcore 2.8 Ghz, 6 Gig of Ram, Vista Business 64, Geforce 8800GT with 512 MB Ram:

MoI 1.0: 2:03 (1 608 626 Polys)
MoI 2.0, One Thread: 0:29 (1 816 449 Polys) (latest Beta)
MoI 2.0, No Thread Limit: 0:10

This was using a simpler mesh where I lowered the meshing angle to 1° to make it choke.

With a another mesh with normal settings (4°), it was 0:30 with MoI 1.0 but instantaneous with the latest Beta.
I have to dig out a more involved object for more tests.

Thank you so much, that makes exporting much more fun!
The other changes are also very welcome.

BTW. Scriptcopier doesn't work if one doesn't use the default path for MoI.

Cheers,

Thomas
  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:  BurrMan
2333.33 In reply to 2333.32 
In the process of setting up the new crusher! Does the vid card have any impact here. If it does, I'll post some results too. If not, I think the pudding has already been eaten!
  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-13  14-33  34-53  54-73  74-86