V2 beta Jan-19-2009 available now
 1-16  17-36  37-56  57-76  77-86

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

Previous
Next
 From:  Michael Gibson
2333.34 In reply to 2333.33 
Hi Burr,

> Does the vid card have any impact here.

Not particularly, except maybe in a kind of roundabout way.

One of the new things of the mesher is that it will display any objects that it has finished during the progress of the current meshing job, instead of only displaying the fully finished result only at the end like it used to.

If you have something really very old like your one Radeon 7200 card, then I guess it would be possible for that display part to take enough time to kind of steal the attention away from one of the CPU cores during the mesh calculation.

But if your video card is at all reasonable then it should not really be a factor.


Hopefully you are not initially setting up your new mega core box with that old Radeon 7200 , are you ?! :)

- 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
2333.35 In reply to 2333.26 
Hi Tony,

> I didn't know about the vertex normals thing between
> Lightwave and modo as I only have modo.

Until very recently LightWave didn't support it, I think it is only supported in the newest LightWave release, I think version 9.5 ?

Unfortunately when they added support, it appears that they did not do it in a way that was compatible with Modo.

I can kind of understand how that happened because Modo implemented it in a somewhat strange way before that, where they expected the vertex normals to be in right-handed coordinates, while all the other coordinates in an .lwo file are in left-handed coordinates.

Anyway because of this kind of messed-up situation where each of them is expecting different kinds of coordinates for this same vertex normal data I have put in this switch in MoI.


> Which way did MoI do it before this update?

The Modo way, same as the new default.

So if you're using Modo you shouldn't need to mess with it.


- 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
2333.36 In reply to 2333.27 
Hi Anis,

> What is parallel view ?

You were asking Danny, but I can give you an answer here - the parallel view is when you turn off perspective in the 3D viewport. It is also sometimes called an "orthographic" view. More details on wikipedia: http://en.wikipedia.org/wiki/Orthographic_projection_(geometry)

In MoI the option for this is under Options / View / 3D view projection: the choices are: Perspective or Parallel.

I'm pretty sure that you have used this before though, because didn't you like to set it up with the Parallel/orthographic type view to make it appear the same as SolidWorks?


> I am not clear about this :
> "Added some script functions to access the camera point from a script,

Basically if you set up a keyboard shortcut with the script given there, when you execute that script it will copy the camera and target point locations to the clipboard. You can then paste them into a text editor to see the camera and target locations and enter those into another application if you want to synchronize the views with another app exactly.

Previously there wasn't any way to extract this camera information.

- 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
 

Reply to All Reply to All

 

 
Show messages:  1-16  17-36  37-56  57-76  77-86